मेरे पास एक आरएसए निजी कुंजी फ़ाइल (OCkey.pem) है। जावा का उपयोग करके मुझे इस फाइल से निजी कुंजी मिलनी है। यह कुंजी नीचे openssl कमांड का उपयोग कर जेनरेट की गई है। नोट: मैं नीचे इस openssl कमांड पर कुछ भी नहीं बदल सकता।rava Privatekey.pem फ़ाइल से java.security.PrivateKey ऑब्जेक्ट कैसे प्राप्त करें?
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
प्रमाणपत्र नीचे जैसा दिखता है।
///////////////////////// ////////////////
बैश-3.00 $ कम OCkey.pem
----- BEGIN आरएसए निजी कुंजी -----
प्रो-टाइप: 4, एनक्रिप्टेड
DEK-जानकारी: डेस-EDE3-सीबीसी, EA1DBF8D142621BFBYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- END 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: अमान्य कुंजी प्रारूप "
कृपया मदद करें।
यकीन privatekey डीईआर प्रारूप में है और आप सही keyspec उपयोग कर रहे हैं। मेरा मानना है कि आपको निजीकिबाइट्स के लिए पीकेसीएस 8 का उपयोग करना चाहिए। – Zaki