पीकेसीएस 12 कीस्टोर में संग्रहीत प्रमाणपत्रों को कीटल के साथ कैसे सूचीबद्ध करें?


जवाबों:


146

यदि कीस्टोर PKCS12 प्रकार है ( .pfx) आपको इसे निर्दिष्ट करना होगा -storetype PKCS12(पठनीयता के लिए लाइन ब्रेक जोड़ा गया है):

keytool -list -v -keystore <path to keystore.pfx> \
    -storepass <password> \
    -storetype PKCS12

7
यदि आप एक ग्राफिकल इंटरफ़ेस उपयोगिता पसंद करते हैं, तो मुझे केइस्टोर एक्सप्लोरर, जावा कमांड-लाइन यूटिलिटीज कीटूल, जर्सिग्नर और जडटूल के लिए एक खुला स्रोत जीयूआई प्रतिस्थापन मिला। keystore-explorer.sourceforge.net
डेविड गार्सिया गोंजालेज

टिप @David के लिए धन्यवाद। इस तरह की कई अन्य परियोजनाओं के विपरीत, इस परियोजना को देखना अभी भी सक्रिय है!
जॉन रिक्स

उस फ्रीवेयर टूल पर उत्कृष्ट टिप - मैं आम तौर पर कमांड लाइन पसंद करता हूं लेकिन यह बहुत अच्छा है
Rhubarb

1
क्या इसके साथ काम करना चाहिए ( .p12)? मुझे मिलता हैjava.io.IOException: Invalid keystore format
इग्नाइटेकोडर्स

यह P12 सर्टिफिकेट स्टोर (मार्च 2019, नवीनतम KeyTool संस्करण) के साथ काम नहीं करता है
Harald Coppoolse

29

आप 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

3
सिर्फ कहने के लिए यह .p12 फ़ाइलों के लिए भी काम करता है। बहुत मददगार, धन्यवाद!
रिच रॉस

@PhilipRego सुनिश्चित करें कि आप कर सकते हैं, बस उन्हें एकल उद्धरण में लपेटें।
स्लम

मैं उर्फ़ उर्फ ​​दोस्ताना को देखना चाहता था। "खुलता pkcs12 -nodes -in </path/to/file.pfx> -passin पास: <pxx का पासवर्ड>" का उपयोग करना था
डोमो

6

आप कुंजीपट के साथ प्रविष्टियों (प्रमाणपत्र विवरण) को सूचीबद्ध कर सकते हैं और यहां तक ​​कि आपको स्टोर प्रकार का उल्लेख करने की आवश्यकता नहीं है।

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

Pls अपने कोड की व्याख्या करने पर विचार करें और यह कैसे मदद करेगा, ताकि दूसरों को इससे लाभान्वित किया जा सके।
अमित वर्मा

उत्तर अपडेट किया गया।
हैरी


2

प्रश्न और सभी उत्तरों में क्या गायब है, आपको पीके # 12 (.pfx) कीस्टोर से सार्वजनिक डेटा पढ़ने के लिए पासफ़्रेज़ की आवश्यकता हो सकती है। यदि आपको पासफ़्रेज़ की आवश्यकता है या नहीं, तो इस पर निर्भर करता है कि PKCS # 12 फ़ाइल कैसे बनाई गई थी। यदि आप PKCS # 7 डेटा (जैसे OID उपसर्ग 1.2.840.113549.1.7) को 'एन्क्रिप्टेड' के रूप में सूचीबद्ध किया गया है, तो आप फ़ाइल के ASN1 संरचना की जाँच कर सकते हैं (ASN1 पार्सर के माध्यम से, ओपनसेल या सर्टिफिकेट भी ऐसा कर सकते हैं)। सिफर-स्पेक के साथ या यदि asn1 ट्री में डेटा का स्थान एक एनक्रिप्टेड नोड से नीचे है, तो आप इसे पासफ़्रेज़ के ज्ञान के बिना नहीं पढ़ पाएंगे। इसका मतलब है कि आपकी 'ओपनसेल pkcs12' कमांड त्रुटियों के साथ विफल हो जाएगी (आउटपुट संस्करण पर निर्भर करता है)। उन लोगों के लिए जो पासफ़्रेज़ के ज्ञान के बिना पीकेसीएस # 12 के प्रमाण पत्र में दिलचस्पी ले सकते हैं। कल्पना करें कि आपके पास कई कीस्टोर्स और कई फ़ेसफ़्रेज़ हैं और आप उन्हें व्यवस्थित रखने में वास्तव में बुरे हैं और आप सभी संयोजनों का परीक्षण नहीं करना चाहते हैं, फ़ाइल के अंदर का प्रमाणपत्र आपको यह पता लगाने में मदद कर सकता है कि यह किस पासवर्ड का हो सकता है। या आप एक कीस्टेर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं। या आप एक कीस्टेर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं। या आप एक कीस्टॉर को माइग्रेट / नवीनीकृत करने के लिए सॉफ्टवेयर विकसित कर रहे हैं और आपको पहले से तय करने की आवश्यकता है कि कौन सी प्रक्रिया उपयोगकर्ता सर्टिफिकेशन के बिना निहित सर्टिफिकेट के आधार पर शुरू की जाए। तो बाद के उदाहरण PKCS # 12 संरचना के आधार पर पासफ़्रेज़ के बिना काम करते हैं।

मैं इसे जोड़ना चाहता था, क्योंकि मुझे इसका उत्तर नहीं मिला और इसे जानने के लिए बहुत समय देना पड़ता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.