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()); } }
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); }
AlgorithmParameterSpec spec = k.getParams(); SigType type; if (spec.equals(SigType.ECDSA_SHA256_P256.getParams()))
public static String encodeAsOpenSSH(ECPublicKey key) { String curveName = null; try { curveName = getCurveName(key.getParams()); } catch (IOException e) { propagate(e); } String keyFormat = ECDSA_SHA2_PREFIX + curveName; byte[] keyBlob = keyBlob(key); return keyFormat + " " + base64().encode(keyBlob); }
private static ECParameterSpec getECParameterSpec(String curve, boolean isPrivate) throws Exception { KeyPair pair = generateECKeyPair(curve); return isPrivate ? ((ECPublicKey) pair.getPublic()).getParams() : ((ECPrivateKey) pair.getPrivate()).getParams(); }
private static ECParameterSpec getECParameterSpec(String curve, boolean isPrivate) throws Exception { KeyPair pair = generateECKeyPair(curve); return isPrivate ? ((ECPublicKey) pair.getPublic()).getParams() : ((ECPrivateKey) pair.getPrivate()).getParams(); }
private int getKeySize(PublicKey pkey) { if (pkey instanceof ECPublicKey) { return ((ECPublicKey) pkey).getParams().getCurve().getField().getFieldSize(); } else if (pkey instanceof RSAPublicKey) { return ((RSAPublicKey) pkey).getModulus().bitLength(); } else { throw new IllegalArgumentException( "Unsupported public key type: " + pkey.getClass().getName()); } }
public EllipticCurveJsonWebKey(ECPublicKey publicKey) { super(publicKey); ECParameterSpec spec = publicKey.getParams(); EllipticCurve curve = spec.getCurve(); curveName = EllipticCurves.getName(curve); }
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 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 JCEECPublicKey( ECPublicKey key) { 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); }
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); }
protected void assertsEcdsaKey(ECPublicKey pubKey) { final String x = "48439561293906451759052585252797914202762949526041747995844080717082404635286"; final String y = "36134250956749795798585127919587881956611106672985015071877198253568414405109"; Assert.assertEquals(new BigInteger(x), pubKey.getParams().getGenerator().getAffineX()); Assert.assertEquals(new BigInteger(y), pubKey.getParams().getGenerator().getAffineY()); }
public ContentEncryptionKeys manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] cekOverride, ProviderContext providerContext) throws JoseException { KeyValidationSupport.cekNotAllowed(cekOverride, getAlgorithmIdentifier()); ECPublicKey receiversKey = (ECPublicKey) managementKey; String keyPairGeneratorProvider = providerContext.getGeneralProviderContext().getKeyPairGeneratorProvider(); SecureRandom secureRandom = providerContext.getSecureRandom(); EllipticCurveJsonWebKey ephemeralJwk = EcJwkGenerator.generateJwk(receiversKey.getParams(), keyPairGeneratorProvider, secureRandom); return manageForEncrypt(managementKey, cekDesc, headers, ephemeralJwk, providerContext); }
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); } }