У меня есть файл закрытого ключа RSA (OCkey.pem). Используя java, я должен получить закрытый ключ из этого файла. этот ключ генерируется с помощью приведенной ниже команды openssl. Примечание. Я не могу ничего изменить в этой команде openssl ниже.
openssl> req -newkey rsa:1024 -sha1 -keyout OCkey.pem -out OCreq.pem -subj "/C=country/L=city/O=OC/OU=myLab/CN=OCserverName/" -config req.conf
Сертификат выглядит следующим образом.
//////////////////////////////////////////////////// /////////
bash-3.00$ меньше OCkey.pem
-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ RSA-----
Тип процедуры: 4, ЗАШИФРОВАННЫЙ
Информация о DEK: DES-EDE3-CBC,EA1DBF8D142621BFBYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- END RSA PRIVATE KEY -----
/// //////////////////////////////////////////////////// /////////
Вот что я пробовал
byte[] privKeyBytes = new byte[(int)new File("C:/OCkey.pem").length()];
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(privKeyBytes));
но получать
«java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: неверный формат ключа»
Пожалуйста помоги.