2010-03-20 13 views
12

पर सार्वजनिक और निजी कुंजी आयात करें। मेरे पास अलग-अलग .pem फ़ाइलों में सार्वजनिक और निजी कुंजी हैं जिन्हें मुझे किसी भी तरह जेकेएस कीस्टोर में जाना होगा।आयात करें। जेके कुंजीस्टोर

इसके लिए कीटूल में -import कमांड का उपयोग करने का प्रयास किया, जो "X.50 9 प्रमाणपत्र नहीं" त्रुटि देता है।

मुझे लगता है कि समाधान ओपनएसएसएल के साथ करना है, लेकिन मुझे पूरा यकीन नहीं है कि इसके साथ क्या किया जाए।

वास्तव में इसके साथ किसी भी मदद की सराहना करेंगे, क्योंकि मैं पूरी तरह से क्रिप्टो से संबंधित सब कुछ के साथ अनजान हूं।

अग्रिम धन्यवाद, --Rolf

उत्तर

3

Keytool डीईआर प्रारूप में वस्तुओं की उम्मीद है। पीईएम एक हेडर और एक पाद लेख के साथ बेस 64-एन्कोडेड डीईआर है। KeyTool पीईएम पार्स नहीं कर सकता है।

हालांकि, ओपनएसएसएल पीईएम ऑब्जेक्ट को डीईआर में परिवर्तित कर सकता है। उदाहरण के लिए, X.50 9 प्रमाणपत्र के लिए, -outform DER कमांड लाइन ध्वज डीईआर का आउटपुट प्रारूप के रूप में उपयोग करने के लिए ओपनएसएसएल को निर्देश देता है।

This page स्पष्ट रूप से कुछ और विस्तृत स्पष्टीकरण शामिल हैं।

+0

हाय, उत्तर देने के लिए धन्यवाद! मैं ओपनएसएसएल के साथ निजी कुंजी को डीईआर में परिवर्तित करने में कामयाब रहा, लेकिन सार्वजनिक कुंजी नहीं। openssl X509 -इन pubkey.pem -inform पीईएम आउट pubkey.der -outform डीईआर परिणाम निम्न त्रुटि में: प्रमाण पत्र 5280 लोड करने में असमर्थ: त्रुटि: 0906D06C: पीईएम दिनचर्या: PEM_read_bio: कोई शुरुआत लाइन :. \ crypto \ pem \ pem_lib .c: 642: अपेक्षित: ट्रस्टेड सर्टिफिकेट मुझे लगता है कि यह सार्वजनिक कुंजी फ़ाइल को "BEGIN ट्रस्टेड सर्टिफिकेट" हेडर से शुरू करने की अपेक्षा करता है, लेकिन वास्तव में इसमें क्या है "BEGIN सार्वजनिक कुंजी " – Rolf

+4

आपके पास" अकेला सार्वजनिक कुंजी "है। आपको एक प्रमाणपत्र की आवश्यकता है। KeyTool KeyStore प्रारूप का पालन करता है, जो केवल निजी कुंजी स्वीकार करता है अगर वे प्रमाणपत्र के साथ आते हैं। एक प्रमाणपत्र में अन्य जानकारी जैसे कि पहचान ("कुंजी स्वामी का नाम") और "प्रमाण पत्र प्राधिकरण" द्वारा हस्ताक्षर के साथ सार्वजनिक कुंजी शामिल है। आप "स्वयं हस्ताक्षरित प्रमाणपत्र" बनाने के लिए निजी कुंजी का उपयोग कर सकते हैं (एक प्रमाण पत्र जहां हस्ताक्षर की गणना मुख्य रूप से की जाती है); इसे आज़माएं: 'openssl req-new-x509 -key privkey.pem -out cert.pem' –

+0

ठीक है, यह मुझे सही रास्ते पर मिला, धन्यवाद! – Rolf

संबंधित मुद्दे