Следующий код работал нормально на Android 7
KeyPairGenerator kg = KeyPairGenerator.getInstance("EC","BC");
kg.initialize(spec);
KeyPair kp = kg.generateKeyPair();
mKeyEx = KeyAgreement.getInstance("ECDH");
mKeyEx.init(kp.getPrivate());
mPubKeyX509 = kp.getPublic().getEncoded();
mPubKey = new byte[(spec.getCurve().getField().getFieldSize() + 7) / 8 * 2 + 1];
System.arraycopy(mPubKeyX509, mPubKeyX509.length - mPubKey.length, mPubKey, 0, mPubKey.length);
Как вы знаете, бодрый замок устарел на Android 9, поэтому я изменил первую строку на:
KeyPairGenerator kg = KeyPairGenerator.getInstance("EC");
Я получаю следующее сообщение об ошибке:
java.lang.RuntimeException: error:0f00007b:elliptic curve routines:OPENSSL_internal:UNKNOWN_GROUP
В следующей строке
mPubKeyX509 = kp.getPublic().getEncoded();
Любая помощь, пожалуйста?