Opensl का उपयोग करके pfx को pem में बदलना


109

OpenSSL का उपयोग करके PFX फ़ाइल से .pem CA प्रमाणपत्र और क्लाइंट प्रमाणपत्र कैसे उत्पन्न करें ।

जवाबों:


107

आप OpenSSL कमांड लाइन टूल का उपयोग कर सकते हैं। निम्न आदेशों को चाल करना चाहिए

openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts

openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts

यदि आप चाहते हैं कि आपकी फ़ाइल पासवर्ड से सुरक्षित हो आदि, तो अतिरिक्त विकल्प हैं।

आप पूरे दस्तावेज यहां पढ़ सकते हैं ।


191

लिनक्स पर करने के लिए एक और परिप्रेक्ष्य ... यहां यह है कि ऐसा कैसे करें ताकि परिणामस्वरूप एकल फ़ाइल में डिक्रिप्ट की गई निजी कुंजी हो ताकि HAProxy जैसी कोई चीज आपको पासफ़्रेज़ के लिए संकेत दिए बिना उपयोग कर सके।

openssl pkcs12 -in file.pfx -out file.pem -nodes

तब आप फ़ाइल। Pem फ़ाइल का उपयोग करने के लिए HAProxy को कॉन्फ़िगर कर सकते हैं।


यह पिछले संस्करण से एक EDIT है जहां मेरे पास ये कई चरण थे जब तक कि मुझे पता नहीं था कि -nodes विकल्प सिर्फ निजी कुंजी एन्क्रिप्शन को बायपास करता है। लेकिन मैं इसे यहां छोड़ रहा हूं क्योंकि यह सिर्फ शिक्षण में मदद कर सकता है।

openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys
openssl pkcs12 -in file.pfx -out file.withkey.pem
openssl rsa -in file.withkey.pem -out file.key
cat file.nokey.pem file.key > file.combo.pem
  1. PFX खोलने के लिए पासवर्ड के लिए पहला चरण आपको संकेत देता है।
  2. दूसरा चरण आपको उस प्लस के लिए भी कुंजी के लिए एक पासफ़्रेज़ बनाने के लिए प्रेरित करता है।
  3. तीसरा चरण आपको उस पासफ़्रेज़ में प्रवेश करने का संकेत देता है जिसे आपने अभी तक डिक्रिप्टेड स्टोर करने के लिए बनाया था।
  4. 4 वे सभी को एक साथ 1 फ़ाइल में रखता है।

तब आप HAProxy को file.combo.pem फ़ाइल का उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं।

जिस कारण आपको 2 अलग-अलग चरणों की आवश्यकता होती है जहां आप एक फ़ाइल को कुंजी के साथ इंगित करते हैं और कुंजी के बिना एक और, क्योंकि अगर आपके पास एक फ़ाइल है जिसमें एन्क्रिप्टेड और डिक्रिप्ट की गई दोनों कुंजी है, तो HAProxy जैसी कुछ भी आपको पासबुक में टाइप करने के लिए संकेत देती है जब इसका उपयोग करता है।


मैंने ओपनशेल से परिचित होने के लिए समय बिताया, लेकिन पेम रूपांतरण निजी कुंजी सहित नहीं था। एडिट ने सर्टिफिकेट और की को एक पीएम फाइल में मर्ज करने के बारे में विस्तार से जानकारी दी, बस मुझे जो चाहिए था।
ईष्ट

खिड़कियों पर सिस्टम बिल्ली के बजाय प्रकार का उपयोग करते हैं
hupseb

विंडोज पर OpenSSL का यह संस्करण इस तरह की चीजों के लिए उपयोग करना आसान है: slproweb.com/products/Win32OpenSSL.html
हेल्ज क्लेन

उपरोक्त चरणों ने PFX को PEM में बदलने के लिए अच्छी तरह से काम किया। हालाँकि मुझे एक अतिरिक्त कदम उठाना था: एक टेक्स्ट एडिटर में nokey PEM फाइल को खोलें और चेन में आखिरी सर्टिफिकेट को फाइल के ऊपर ले जाएं। अन्यथा नेगनेक्स को एरर के बारे में शिकायत करने में त्रुटि होती है और उनका उपयोग करने से इनकार करते हैं।
यूजीनोमेरो

उस मामले में आप पहले इसे लगाने के लिए बिल्ली कमांड को फिर से चालू कर सकते हैं। जैसे: cat file.key file.nokey.pem> file.combo.pem जब तक file.key अपने आप में गलत क्रम में एक से अधिक न हो। लेकिन या तो मामले में, आप संभावित रूप से सामान को फिर से व्यवस्थित कर सकते हैं।
user2415376

11

इसके बावजूद कि अन्य उत्तर सही हैं और पूरी तरह से समझाया गया है, मुझे उन्हें समझने में कुछ कठिनाइयाँ आईं। यहाँ मैं इस्तेमाल किया विधि है ( यहाँ से लिया गया है ):

पहला मामला: एक PFX फाइल को एक PEM फाइल में बदलने के लिए जिसमें प्रमाणपत्र और निजी कुंजी दोनों शामिल हैं:

openssl pkcs12 -in filename.pfx -out cert.pem -nodes

दूसरा मामला: सार्वजनिक और निजी कुंजी PEM फ़ाइलों को अलग करने के लिए PFX फ़ाइल परिवर्तित करना:

एक PEM फ़ाइल के लिए एक PFX निजी कुंजी को निकालता है:

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

प्रमाण पत्र निर्यात करता है (केवल सार्वजनिक कुंजी शामिल है):

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

निकाले गए निजी कुंजी (वैकल्पिक) से पासवर्ड (paraphrase) निकालता है:

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