/** * Returns an SFS containing: * - the private key * - the public key * - the name of the curve in use * * It should only be used in NodeCrypto * @param includePrivate - include the (secret) private key * @return SimpleFieldSet */ public SimpleFieldSet asFieldSet(boolean includePrivate) { SimpleFieldSet fs = new SimpleFieldSet(true); SimpleFieldSet fsCurve = new SimpleFieldSet(true); fsCurve.putSingle("pub", Base64.encode(key.getPublic().getEncoded())); if(includePrivate) fsCurve.putSingle("pri", Base64.encode(key.getPrivate().getEncoded())); fs.put(curve.name(), fsCurve); return fs; } }
System.out.println(sfs.toString()); System.out.println("Restored to: "); ECDSA ecdsa2 = new ECDSA(sfs.getSubset(curve.name()), curve); System.out.println(ecdsa2.getPublicKey()); System.out.println("Verify? : "+ecdsa2.verify(sig, signedBytes));
SimpleFieldSet ecdsaSFS = fs.subset("ecdsa"); if(ecdsaSFS != null) ecdsaP256 = new ECDSA(ecdsaSFS.subset(ECDSA.Curves.P256.name()), Curves.P256); } catch (FSParseException e) { Logger.error(this, "Caught "+e, e);
public SimpleFieldSet getSFS(ECPublicKey pub) { SimpleFieldSet ecdsaSFS = new SimpleFieldSet(true); SimpleFieldSet curveSFS = new SimpleFieldSet(true); curveSFS.putSingle("pub", Base64.encode(pub.getEncoded())); ecdsaSFS.put(name(), curveSFS); return ecdsaSFS; }
public void testAsFieldSet() throws FSParseException { SimpleFieldSet privSFS = ecdsa.asFieldSet(true); assertNotNull(privSFS.getSubset(curveToTest.name())); assertNotNull(privSFS.get(curveToTest.name()+".pub")); assertNotNull(privSFS.get(curveToTest.name()+".pri")); // Ensure we don't leak the privkey when we don't intend to SimpleFieldSet pubSFS = ecdsa.asFieldSet(false); assertNotNull(pubSFS.getSubset(curveToTest.name())); assertNotNull(pubSFS.get(curveToTest.name()+".pub")); assertNull(pubSFS.get(curveToTest.name()+".pri")); }
public void testSerializeUnserialize() throws FSParseException { SimpleFieldSet sfs = ecdsa.asFieldSet(true); ECDSA ecdsa2 = new ECDSA(sfs.getSubset(curveToTest.name()), curveToTest); assertEquals(ecdsa.getPublicKey(), ecdsa2.getPublicKey()); }