public static OpenSSLKey getInstance(ECPrivateKey ecPrivateKey) throws InvalidKeyException { try { OpenSSLECGroupContext group = OpenSSLECGroupContext.getInstance(ecPrivateKey.getParams()); final BigInteger privKey = ecPrivateKey.getS(); return new OpenSSLKey( NativeCrypto.EVP_PKEY_new_EC_KEY(group.getContext(), 0, privKey.toByteArray())); } catch (Exception e) { throw new InvalidKeyException(e); } }
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.getNativeRef()), group, ecPublicKey.getW()); return new OpenSSLKey( NativeCrypto.EVP_PKEY_new_EC_KEY(group.getNativeRef(), pubKey.getNativeRef(), null)); } catch (Exception e) { throw new InvalidKeyException(e); } }
@Override public ECParameterSpec getParams() { return group.getECParameterSpec(); }