/** @param key {@code EcdsaPublicKey} proto */ @Override public PublicKeyVerify getPrimitive(MessageLite key) throws GeneralSecurityException { if (!(key instanceof EcdsaPublicKey)) { throw new GeneralSecurityException("expected EcdsaPublicKey proto"); } EcdsaPublicKey keyProto = (EcdsaPublicKey) key; validate(keyProto); ECPublicKey publicKey = EllipticCurves.getEcPublicKey( SigUtil.toCurveType(keyProto.getParams().getCurve()), keyProto.getX().toByteArray(), keyProto.getY().toByteArray()); return new EcdsaVerifyJce( publicKey, SigUtil.toHashType(keyProto.getParams().getHashType()), SigUtil.toEcdsaEncoding(keyProto.getParams().getEncoding())); }
private void validate(EcdsaPublicKey pubKey) throws GeneralSecurityException { Validators.validateVersion(pubKey.getVersion(), VERSION); SigUtil.validateEcdsaParams(pubKey.getParams()); } }
SigUtil.validateEcdsaParams(ecdsaParams); KeyPair keyPair = EllipticCurves.generateKeyPair(SigUtil.toCurveType(ecdsaParams.getCurve())); ECPublicKey pubKey = (ECPublicKey) keyPair.getPublic(); ECPrivateKey privKey = (ECPrivateKey) keyPair.getPrivate();
/** @param key {@code EcdsaPrivateKey} proto */ @Override public PublicKeySign getPrimitive(MessageLite key) throws GeneralSecurityException { if (!(key instanceof EcdsaPrivateKey)) { throw new GeneralSecurityException("expected EcdsaPrivateKey proto"); } EcdsaPrivateKey keyProto = (EcdsaPrivateKey) key; validateKey(keyProto); ECPrivateKey privateKey = EllipticCurves.getEcPrivateKey( SigUtil.toCurveType(keyProto.getPublicKey().getParams().getCurve()), keyProto.getKeyValue().toByteArray()); return new EcdsaSignJce( privateKey, SigUtil.toHashType(keyProto.getPublicKey().getParams().getHashType()), SigUtil.toEcdsaEncoding(keyProto.getPublicKey().getParams().getEncoding())); }
private void validateKey(EcdsaPrivateKey privKey) throws GeneralSecurityException { Validators.validateVersion(privKey.getVersion(), VERSION); SigUtil.validateEcdsaParams(privKey.getPublicKey().getParams()); } }