Package org.ggp.base.util.crypto

Source Code of org.ggp.base.util.crypto.SignableJSONTest

package org.ggp.base.util.crypto;

import org.ggp.base.util.crypto.BaseCryptography.EncodedKeyPair;
import org.junit.Assert;
import org.junit.Test;

import external.JSON.JSONException;
import external.JSON.JSONObject;

/**
* Unit tests for the SignableJSON class, which provides an easy way
* for code to sign JSON objects using PK/SK pairs, and check whether
* a particular object has been signed.
*
* @author Sam
*/
public class SignableJSONTest extends Assert {
  @Test
    public void testSimpleSigning() throws JSONException {
        EncodedKeyPair p = BaseCryptography.generateKeys();

        JSONObject x = new JSONObject("{3:{7:9,c:4,2:5,a:6},1:2,2:3,moves:14,states:21,alpha:'beta'}");
        assertFalse(SignableJSON.isSignedJSON(x));
        SignableJSON.signJSON(x, p.thePublicKey, p.thePrivateKey);
        assertTrue(SignableJSON.isSignedJSON(x));
        assertTrue(SignableJSON.verifySignedJSON(x));

        JSONObject x2 = new JSONObject(x.toString().replace(",", ", ").replace("{", "{ ").replace("}", "} "));
        assertTrue(SignableJSON.isSignedJSON(x2));
        assertTrue(SignableJSON.verifySignedJSON(x2));

        JSONObject x3 = new JSONObject("{1:2,2:3,3:4}");
        assertFalse(SignableJSON.isSignedJSON(x3));
    }
}
TOP

Related Classes of org.ggp.base.util.crypto.SignableJSONTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.