Проблема при удалении устаревшего поставщика надувного замка на android 9 - PullRequest
1 голос
/ 01 мая 2020

Следующий код работал нормально на 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();

Любая помощь, пожалуйста?

...