Как получить объект java.security.PrivateKey из файла RSA Privatekey.pem?

У меня есть файл закрытого ключа 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 -----
, Proc-тип: 4, ENCRYPTED
ДЭК-Инфо: DES-EDE3-ПГС, EA1DBF8D142621BF

BYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
. ..
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- КОНЕЦ ЧАСТНОГО КЛЮЧА RSA -----
////// ////////////////////////////////////////////////// //////

Вот что я пробовал

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: недопустимый формат ключа»

Пожалуйста помощь.

9
задан jww 8 February 2016 в 23:02
поделиться