Ошибка в парсинге приватного ключа

private byte[] getEncodeKey() {
    Key privateKey = null;
    try {
        byte [] pkcs8EncodedBytes = Base64.decode("***private_key***", Base64.DEFAULT);
        KeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8EncodedBytes);
        KeyFactory kf = KeyFactory.getInstance("RSA");
        privateKey = kf.generatePrivate(keySpec); <---- this line call exception
    } catch (Exception e) {
        e.printStackTrace();
    }
    return Base64.encode(privateKey.getEncoded(), Base64.DEFAULT);
}

Данный код по задумке из строки с приватным ключом(строка валидная, взята с помощью опции генерации ключа в Firebase) должен парсить массив байт

В коде я указал, какая строка бросает исключение

Ниже приведён лог ошибок

W/System.err: java.security.spec.InvalidKeySpecException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: Error parsing private key
V/FA: Connection attempt already in progress
W/System.err:     at com.android.org.conscrypt.OpenSSLKey.getPrivateKey(OpenSSLKey.java:338)
        at com.android.org.conscrypt.OpenSSLRSAKeyFactory.engineGeneratePrivate(OpenSSLRSAKeyFactory.java:72)
        at java.security.KeyFactory.generatePrivate(KeyFactory.java:399)
        at com.nikitafront.schooldiary.activities.CustomActivity.getEncodeKey(CustomActivity.java:224)
        at com.nikitafront.schooldiary.activities.CustomActivity.createJWT(CustomActivity.java:153)
        at com.nikitafront.schooldiary.activities.CustomActivity.signInWithVK(CustomActivity.java:124)
        at com.nikitafront.schooldiary.activities.CustomActivity$5.onLogin(CustomActivity.java:270)
W/System.err:     at com.vk.api.sdk.auth.VKAuthManager.onActivityResult(VKAuthManager.kt:75)
        at com.vk.api.sdk.VK.onActivityResult(VK.kt:123)
        at com.nikitafront.schooldiary.activities.CustomActivity.onActivityResult(CustomActivity.java:279)
        at android.app.Activity.dispatchActivityResult(Activity.java:8429)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5377)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5425)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2319)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:239)
        at android.app.ActivityThread.main(ActivityThread.java:8212)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1016)
W/System.err: Caused by: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: Error parsing private key
        at com.android.org.conscrypt.NativeCrypto.EVP_parse_private_key(Native Method)
        at com.android.org.conscrypt.OpenSSLKey.getPrivateKey(OpenSSLKey.java:336)
        ... 22 more

Ответы (0 шт):