У меня есть закрытый ключ, хранящийся в файле в формате PKCS8 DER и защищенный паролем. Как проще всего это прочитать?
Вот код, который я использую для загрузки незашифрованного:
InputStream in = new FileInputStream(privateKeyFilename);
byte[] privateKeydata = new byte[in.available()];
in.read(privateKeydata);
in.close();
KeyFactory privateKeyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(privateKeydata);
PrivateKey privateKey = privateKeyFactory.generatePrivate(encodedKeySpec);
Он отлично работает с незашифрованными ключами с той же спецификацией. Кстати, я использую BouncyCastle.
Я могу просмотреть этот закрытый ключ, используя следующую команду openssl
openssl pkcs8 -in ./privatekey.key -inform DER -passin pass:thisismypass
Пожалуйста помоги!!!
Я опубликовал некоторые решения в своем собственном ответе на эту тему. Но я оставляю вопрос без ответа на тот случай, если кто-то может помочь заставить его работать без дополнительной библиотеки, просто BouncyCastle.