@HerbertPimentel: вы не говорите, какой метод вы использовали, но если он есть в коде (мой 2-й или 3-й пункт), он должен работать до тех пор, пока доступен jar BCprov, который зависит от того, где вы поместили jar и как вы установили путь к классам И, конечно, до тех пор, пока вы используете правильные файлы классов; сложные IDE могут иногда работать не так, как вы думаете.

ка прочитать закрытый ключ PKCS8 в формате PEM с помощью следующего:

private static PrivateKey loadPrivateKey()
        throws IOException, GeneralSecurityException, OperatorCreationException, PKCSException {
    FileReader fileReader = new FileReader(certsRoot + "/pep-client-key.pem");
    PEMParser keyReader = new PEMParser(fileReader);

    JcaPEMKeyConverter converter = new JcaPEMKeyConverter();
    InputDecryptorProvider decryptionProv = new JceOpenSSLPKCS8DecryptorProviderBuilder().build("mypassword".toCharArray());

    Object keyPair = keyReader.readObject();
    PrivateKeyInfo keyInfo;

    if (keyPair instanceof PKCS8EncryptedPrivateKeyInfo) {
        keyInfo = ((PKCS8EncryptedPrivateKeyInfo) keyPair).decryptPrivateKeyInfo(decryptionProv); // Exception thrown from here
        keyReader.close();
        return converter.getPrivateKey(keyInfo);
    }
    return null;
}

генерирует эту ошибку:

org.bouncycastle.pkcs.PKCSException: unable to read encrypted data: 1.2.840.113549.1.5.13 not available: Cannot find any provider supporting 1.2.840.113549.3.7
    at org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo.decryptPrivateKeyInfo(Unknown Source)

Я проверил с OpenSSL, что файл может быть обработан как PKCS8 PEM с предоставленным паролем.

Любая идея? Я не против, если есть решение, не связанное с библиотеками BouncyCastle.

Ответы на вопрос(1)

Ваш ответ на вопрос