यह बहुत सीधा है, कम से कम jdk6 का उपयोग कर ...
बाश $ कीटूल -स्टीस्टोर foo.jks -genkeypair -alias foo \
-dname 'CN = foo.example.com, L = मेलबोर्न, ST = विक्टोरिया, C = AU'
पासवर्ड दर्ज करें:
नया पासवर्ड पुनः दर्ज करें:
के लिए कुंजी पासवर्ड दर्ज करें
(RETURN यदि कीस्टोर पासवर्ड के समान है):
बैश $ कीटूल -स्टीस्टोर foo.jks -exportcert -alias foo | \
Opensl x509 -inform der -text
कीस्टर पासवर्ड दर्ज करें: asdasd
प्रमाणपत्र:
डेटा:
संस्करण: 3 (0x2)
क्रमांक: 1237334757 (0x49c03ae5)
हस्ताक्षर एल्गोरिथ्म: dsaWithSHA1
जारीकर्ता: C = AU, ST = विक्टोरिया, L = मेलबोर्न, CN = foo.example.com
वैधता
इससे पहले नहीं: मार्च 18 00:05:57 2009 GMT
नहीं के बाद: जून 16 00:05:57 2009 GMT
विषय: सी = एयू, एसटी = विक्टोरिया, एल = मेलबोर्न, सीएन = foo.example.com
विषय सार्वजनिक कुंजी जानकारी:
सार्वजनिक कुंजी एल्गोरिथम: dsaEnc एन्क्रिप्शन
डीएसए सार्वजनिक कुंजी:
पब:
00: e2: 66: 5c: E0: 2 ई: दा: E0: 6b: A6: आ: 97: 64: 59: 14:
7e: ए 6: 2 ई: 5a: 45: F9: 2f: B5: 2 डी: F4: 34: 27: E6: 53: C7:
बैश $ कीटूल -मिमपोर्टेकेस्टोर -सर्किटिस्टोर फू.जक्स \
-Destkeystore foo.p12 \
-sststoretype jks \
-deststoretype pkcs12
गंतव्य कीस्टोर पासवर्ड दर्ज करें:
नया पासवर्ड पुनः दर्ज करें:
स्रोत कीस्टॉर पासवर्ड दर्ज करें:
उर्फ फू के लिए प्रवेश सफलतापूर्वक आयात किया गया।
आयात आदेश पूरा हुआ: 1 प्रविष्टि सफलतापूर्वक आयात की गई, 0 प्रविष्टियाँ विफल या रद्द की गईं
बाश $ खुलता है pkcs12 -in foo.p12 -out foo.pem
आयात पासवर्ड दर्ज करें:
मैक ने ठीक सत्यापित किया
PEM पास वाक्यांश दर्ज करें:
सत्यापन - PEM पास वाक्यांश दर्ज करें:
बैश $ खुलता है x509 -टेक्स्ट -इन foo.pem
प्रमाणपत्र:
डेटा:
संस्करण: 3 (0x2)
क्रमांक: 1237334757 (0x49c03ae5)
हस्ताक्षर एल्गोरिथ्म: dsaWithSHA1
जारीकर्ता: C = AU, ST = विक्टोरिया, L = मेलबोर्न, CN = foo.example.com
वैधता
इससे पहले नहीं: मार्च 18 00:05:57 2009 GMT
नहीं के बाद: जून 16 00:05:57 2009 GMT
विषय: सी = एयू, एसटी = विक्टोरिया, एल = मेलबोर्न, सीएन = foo.example.com
विषय सार्वजनिक कुंजी जानकारी:
सार्वजनिक कुंजी एल्गोरिथम: dsaEnc एन्क्रिप्शन
डीएसए सार्वजनिक कुंजी:
पब:
00: e2: 66: 5c: E0: 2 ई: दा: E0: 6b: A6: आ: 97: 64: 59: 14:
7e: ए 6: 2 ई: 5a: 45: F9: 2f: B5: 2 डी: F4: 34: 27: E6: 53: C7:
बाश $ खुलता है dsa -text -in foo.pem
DSA कुंजी पढ़ें
PEM पास वाक्यांश दर्ज करें:
निजी कुंजी: (1024 बिट)
priv:
00: 8F: B1: वायुसेना: 55: 63: 92: 7c: d2: 0f: E6: f3: A2: एफ 5: एफएफ:
1 क: 7a: फ़े: 8C: 39: dd
पब:
00: e2: 66: 5c: E0: 2 ई: दा: E0: 6b: A6: आ: 97: 64: 59: 14:
7e: ए 6: 2 ई: 5a: 45: F9: 2f: B5: 2 डी: F4: 34: 27: E6: 53: C7:
आप के साथ अंत:
- foo.jks - जावा प्रारूप में कीस्टोर।
- foo.p12 - PKCS # 12 प्रारूप में कीस्टोर।
- foo.pem - कीमोर से सभी कुंजी और सेर्ट्स, PEM प्रारूप में।
(यदि आप चाहें तो इस अंतिम फ़ाइल को कुंजी और प्रमाणपत्र में विभाजित किया जा सकता है।)
कमांड सारांश - जेकेएस कीस्टोर को बनाने के लिए:
keytool -keystore foo.jks -genkeypair -alias foo \
-dname 'CN=foo.example.com,L=Melbourne,ST=Victoria,C=AU'
कमांड सारांश - जेकेएस कीस्टोर को पीकेसीएस # 12 कीस्टोर में बदलने के लिए, फिर पीईएम फाइल में:
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
यदि आपके पास अपने जेकेएस कीस्टोर में एक से अधिक प्रमाण पत्र हैं, और आप केवल किसी एक उपनाम से जुड़े प्रमाण पत्र और कुंजी को निर्यात करना चाहते हैं, तो आप निम्न भिन्नता का उपयोग कर सकते हैं:
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcalias foo \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
कमांड सारांश - जेकेएस कीस्टोर की पीईएम फाइल से तुलना करने के लिए:
keytool -keystore foo.jks -exportcert -alias foo | \
openssl x509 -inform der -text
openssl x509 -text -in foo.pem
openssl dsa -text -in foo.pem