@Override public ECPoint getW() { return this.getKey().getW(); }
public void init(AlgorithmParameterSpec params, Factory<Random> randomFactory) throws GeneralSecurityException { generator.initialize(params); KeyPair keyPair = generator.generateKeyPair(); agreement.init(keyPair.getPrivate()); ECPublicKey ecPublicKey = (ECPublicKey) keyPair.getPublic(); this.ecParameterSpec = ecPublicKey.getParams(); ECPoint w = ecPublicKey.getW(); byte[] encoded = getEncoded(w, ecParameterSpec.getCurve()); setE(encoded); }
static JsonObject getJwk(PublicKey publicKey, String algHeader) { if (publicKey instanceof RSAPublicKey) { RSAPublicKey rsaPublicKey = (RSAPublicKey) publicKey; return Json.createObjectBuilder() .add(EXPONENT, base64UrlEncode(rsaPublicKey.getPublicExponent().toByteArray())) .add(KEY_TYPE, "RSA") .add(MODULUS, base64UrlEncode(modulusToByteArray(rsaPublicKey.getModulus()))) .build(); } else if (publicKey instanceof ECPublicKey) { ECPublicKey ecPublicKey = (ECPublicKey) publicKey; int fieldSize = ecPublicKey.getParams().getCurve().getField().getFieldSize(); return Json.createObjectBuilder() .add(CURVE, getCurveParameterFromAlgHeader(algHeader)) .add(KEY_TYPE, "EC") .add(X_COORDINATE, base64UrlEncode(coordinateToByteArray(fieldSize, ecPublicKey.getW().getAffineX()))) .add(Y_COORDINATE, base64UrlEncode(coordinateToByteArray(fieldSize, ecPublicKey.getW().getAffineY()))) .build(); } else { throw acme.unsupportedAcmeAccountPublicKeyType(publicKey.getAlgorithm()); } }
private static ECPoint extractPublicKey(final ECPublicKey ecPublicKey) { final java.security.spec.ECPoint publicPointW = ecPublicKey.getW(); final BigInteger xCoord = publicPointW.getAffineX(); final BigInteger yCoord = publicPointW.getAffineY(); return CURVE.getCurve().createPoint(xCoord, yCoord); }
static void writePubKeyContentsIntoBuffer(PublicKey pk, Buffer<?> buf) { final ECPublicKey ecdsa = (ECPublicKey) pk; byte[] encoded = SecgUtils.getEncoded(ecdsa.getW(), ecdsa.getParams().getCurve()); buf.putString("nistp" + Integer.toString(fieldSizeFromKey(ecdsa))) .putBytes(encoded); }
public static SigningPublicKey fromJavaKey(ECPublicKey pk, SigType type) throws GeneralSecurityException { ECPoint w = pk.getW(); BigInteger x = w.getAffineX(); BigInteger y = w.getAffineY(); int len = type.getPubkeyLen(); byte[] b = combine(x, y, len); return new SigningPublicKey(type, b); }
@Override public byte[] getE() throws Exception { if (e == null) { Objects.requireNonNull(params, "No ECParameterSpec(s)"); myKpairGen.initialize(params); KeyPair myKpair = myKpairGen.generateKeyPair(); myKeyAgree.init(myKpair.getPrivate()); e = ((ECPublicKey) myKpair.getPublic()).getW(); e_array = ECCurves.encodeECPoint(e, params); } return e_array; }
public static boolean compareECKeys(ECPublicKey k1, ECPublicKey k2) { if (Objects.equals(k1, k2)) { return true; } else if (k1 == null || k2 == null) { return false; // both null is covered by Objects#equals } else { return Objects.equals(k1.getW(), k2.getW()) && compareECParams(k1.getParams(), k2.getParams()); } }
public String getQY(PublicKey publicKey) throws KeyNotSupportedException { if (publicKey instanceof ECPublicKey) { return ((ECPublicKey) publicKey).getW().getAffineY().toString(16); } else { throw new KeyNotSupportedException("Key is not an elliptic curve key!"); } } }
public void init(AlgorithmParameterSpec params, Factory<Random> randomFactory) throws GeneralSecurityException { generator.initialize(params); KeyPair keyPair = generator.generateKeyPair(); agreement.init(keyPair.getPrivate()); ECPublicKey ecPublicKey = (ECPublicKey) keyPair.getPublic(); this.ecParameterSpec = ecPublicKey.getParams(); ECPoint w = ecPublicKey.getW(); byte[] encoded = getEncoded(w, ecParameterSpec.getCurve()); setE(encoded); }
public static JsonWebKey fromECPublicKey(ECPublicKey pk, String curve, String kid) { JsonWebKey jwk = prepareECJwk(curve, kid); jwk.setProperty(JsonWebKey.EC_X_COORDINATE, Base64UrlUtility.encode(pk.getW().getAffineX().toByteArray())); jwk.setProperty(JsonWebKey.EC_Y_COORDINATE, Base64UrlUtility.encode(pk.getW().getAffineY().toByteArray())); return jwk; } public static JsonWebKey fromECPrivateKey(ECPrivateKey pk, String curve) {
public JCEECPublicKey( ECPublicKey key) { this.algorithm = key.getAlgorithm(); this.ecSpec = key.getParams(); this.q = EC5Util.convertPoint(this.ecSpec, key.getW(), false); }
public JCEECPublicKey( ECPublicKey key) { this.algorithm = key.getAlgorithm(); this.ecSpec = key.getParams(); this.q = EC5Util.convertPoint(this.ecSpec, key.getW(), false); }
EC(ECPublicKey ecKey) throws KeyException { super(ecKey); ECPoint ecPoint = ecKey.getW(); ecParams = ecKey.getParams(); ecPublicKey = encodePoint(ecPoint, ecParams.getCurve()); }
public BCECPublicKey( ECPublicKey key, ProviderConfiguration configuration) { this.algorithm = key.getAlgorithm(); this.ecSpec = key.getParams(); this.q = EC5Util.convertPoint(this.ecSpec, key.getW(), false); }
public BCECPublicKey( ECPublicKey key, ProviderConfiguration configuration) { this.algorithm = key.getAlgorithm(); this.ecSpec = key.getParams(); this.q = EC5Util.convertPoint(this.ecSpec, key.getW(), false); }
/** * Checks that the public key's params is the same as the private key's params, and the public key * is a valid point on the private key's curve. * * @since 1.1.0 */ public static void validatePublicKey(ECPublicKey publicKey, ECPrivateKey privateKey) throws GeneralSecurityException { validatePublicKeySpec(publicKey, privateKey); checkPointOnCurve(publicKey.getW(), privateKey.getParams().getCurve()); }
static void writePubKeyContentsIntoBuffer(PublicKey pk, Buffer<?> buf) { final ECPublicKey ecdsa = (ECPublicKey) pk; byte[] encoded = SecgUtils.getEncoded(ecdsa.getW(), ecdsa.getParams().getCurve()); buf.putString("nistp" + Integer.toString(fieldSizeFromKey(ecdsa))) .putBytes(encoded); }
public BCECGOST3410_2012PublicKey( ECPublicKey key) { this.algorithm = key.getAlgorithm(); this.ecSpec = key.getParams(); this.ecPublicKey = new ECPublicKeyParameters(EC5Util.convertPoint(this.ecSpec, key.getW(), false), EC5Util.getDomainParameters(null, key.getParams())); }
public static OpenSSLKey getInstance(ECPublicKey ecPublicKey) throws InvalidKeyException { try { OpenSSLECGroupContext group = OpenSSLECGroupContext .getInstance(ecPublicKey.getParams()); OpenSSLECPointContext pubKey = OpenSSLECPointContext.getInstance( NativeCrypto.get_EC_GROUP_type(group.getContext()), group, ecPublicKey.getW()); return new OpenSSLKey(NativeCrypto.EVP_PKEY_new_EC_KEY(group.getContext(), pubKey.getContext(), null)); } catch (Exception e) { throw new InvalidKeyException(e); } }