Comment obtenir le java.de sécurité.PrivateKey objet de RSA Privatekey.fichier pem?

J'ai un fichier de clé privée RSA (OCkey.pem). À l'aide de java-je obtenir la clé privée à partir de ce fichier. cette clé est générée à l'aide de la ci-dessous de commande openssl.
Note : je ne peux pas changer quoi que ce soit sur cette commande openssl ci-dessous.

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

Le certificat ressemble à ci-dessous.

///////////////////////////////////////////////////////////
bash-3.00$ de moins OCkey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,CHIFFRÉ
DEK-Info: DES-EDE3-CBC,EA1DBF8D142621BF

BYyZuqyqq9+L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhds3eksmsv4xnqszsvrjxe3
Ft9veWuk+PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbn1cyjsi9fmfmlpxqycj72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAatkapzmsfe6bbv4hyjkcmg==
-----END RSA PRIVATE KEY-----
//////////////////////////////////////////////////////////////

Qui suit est ce que j'ai essayé

byte[] privKeyBytes = new byte[(int)new File("C:/OCkey.pem").length()]; 
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(privKeyBytes));

mais se

"de java.de sécurité.spec.InvalidKeySpecException:
java.de sécurité.InvalidKeyException: invalid format de la clé"

S'il vous plaît aider.

Assurez-vous que le privatekey est en format DER et que vous utilisez le bon keyspec. Je crois que vous devriez être en utilisant PKCS8 ici pour la privkeybytes.

OriginalL'auteur Kanagavelu Sugumar | 2011-09-23