public static KeyMetadata read(String jsonString) { KeyMetadata kmd = (KeyMetadata) Util.gson().fromJson(jsonString, KeyMetadata.class); for (KeyVersion version : kmd.getVersions()) { kmd.versionMap.put(Integer.valueOf(version.getVersionNumber()), version); } return kmd; }
void init() throws KeyczarException { BigInteger yVal = new BigInteger(Base64Coder.decodeWebSafe(y)); BigInteger pVal = new BigInteger(Base64Coder.decodeWebSafe(p)); BigInteger qVal = new BigInteger(Base64Coder.decodeWebSafe(q)); BigInteger gVal = new BigInteger(Base64Coder.decodeWebSafe(g)); DSAPublicKeySpec spec = new DSAPublicKeySpec(yVal, pVal, qVal, gVal); try { KeyFactory kf = KeyFactory.getInstance(KEY_GEN_ALGORITHM); jcePublicKey = kf.generatePublic(spec); } catch (GeneralSecurityException e) { throw new KeyczarException(e); } byte[] fullHash = Util.prefixHash( Util.stripLeadingZeros(pVal.toByteArray()), Util.stripLeadingZeros(qVal.toByteArray()), Util.stripLeadingZeros(gVal.toByteArray()), Util.stripLeadingZeros(yVal.toByteArray())); System.arraycopy(fullHash, 0, hash, 0, hash.length); }
static DsaPublicKey read(String input) throws KeyczarException { DsaPublicKey key = Util.gson().fromJson(input, DsaPublicKey.class); key.init(); return key; }
public String toString() { return Util.gson().toJson((Object) this); }