मैं PKCS12 कीस्टॉर में संग्रहीत प्रमाणपत्रों को सूचीबद्ध करना चाहता था।
कीस्टोर का विस्तार है .pfx
मैं PKCS12 कीस्टॉर में संग्रहीत प्रमाणपत्रों को सूचीबद्ध करना चाहता था।
कीस्टोर का विस्तार है .pfx
जवाबों:
यदि कीस्टोर PKCS12 प्रकार है ( .pfx
) आपको इसे निर्दिष्ट करना होगा -storetype PKCS12
(पठनीयता के लिए लाइन ब्रेक जोड़ा गया है):
keytool -list -v -keystore <path to keystore.pfx> \
-storepass <password> \
-storetype PKCS12
.p12
)? मुझे मिलता हैjava.io.IOException: Invalid keystore format
आप openssl
एक ही चीज़ को पूरा करने के लिए भी उपयोग कर सकते हैं :
$ openssl pkcs12 -nokeys -info \
-in </path/to/file.pfx> \
-passin pass:<pfx's password>
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: XX XX XX XX XX XX XX XX XX XX XX XX XX 48 54 A0 47 88 1D 90
friendlyName: jedis-server
subject=/C=US/ST=NC/L=Raleigh/O=XXX Security/OU=XXX/CN=something1
issuer=/C=US/ST=NC/L=Raleigh/O=XXX Security/OU=XXXX/CN=something1
-----BEGIN CERTIFICATE-----
...
...
...
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
आप कुंजीपट के साथ प्रविष्टियों (प्रमाणपत्र विवरण) को सूचीबद्ध कर सकते हैं और यहां तक कि आपको स्टोर प्रकार का उल्लेख करने की आवश्यकता नहीं है।
keytool -list -v -keystore cert.p12 -storepass <password>
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 1 entry
Alias name: 1
Creation date: Jul 11, 2020
Entry type: PrivateKeyEntry
Certificate chain length: 2
openssl pkcs12 -info -in keystore_file
प्रश्न और सभी उत्तरों में क्या गायब है, आपको पीके # 12 (.pfx) कीस्टोर से सार्वजनिक डेटा पढ़ने के लिए पासफ़्रेज़ की आवश्यकता हो सकती है। यदि आपको पासफ़्रेज़ की आवश्यकता है या नहीं, तो इस पर निर्भर करता है कि PKCS # 12 फ़ाइल कैसे बनाई गई थी। यदि आप PKCS # 7 डेटा (जैसे OID उपसर्ग 1.2.840.113549.1.7) को 'एन्क्रिप्टेड' के रूप में सूचीबद्ध किया गया है, तो आप फ़ाइल के ASN1 संरचना की जाँच कर सकते हैं (ASN1 पार्सर के माध्यम से, ओपनसेल या सर्टिफिकेट भी ऐसा कर सकते हैं)। सिफर-स्पेक के साथ या यदि asn1 ट्री में डेटा का स्थान एक एनक्रिप्टेड नोड से नीचे है, तो आप इसे पासफ़्रेज़ के ज्ञान के बिना नहीं पढ़ पाएंगे। इसका मतलब है कि आपकी 'ओपनसेल pkcs12' कमांड त्रुटियों के साथ विफल हो जाएगी (आउटपुट संस्करण पर निर्भर करता है)। उन लोगों के लिए जो पासफ़्रेज़ के ज्ञान के बिना पीकेसीएस # 12 के प्रमाण पत्र में दिलचस्पी ले सकते हैं। कल्पना करें कि आपके पास कई कीस्टोर्स और कई फ़ेसफ़्रेज़ हैं और आप उन्हें व्यवस्थित रखने में वास्तव में बुरे हैं और आप सभी संयोजनों का परीक्षण नहीं करना चाहते हैं, फ़ाइल के अंदर का प्रमाणपत्र आपको यह पता लगाने में मदद कर सकता है कि यह किस पासवर्ड का हो सकता है। या आप एक कीस्टेर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं। या आप एक कीस्टेर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं। या आप एक कीस्टॉर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं।
मैं इसे जोड़ना चाहता था, क्योंकि मुझे इसका उत्तर नहीं मिला और इसे जानने के लिए बहुत समय देना पड़ता है।