जवाबों:
आप OpenSSL कमांड लाइन टूल का उपयोग कर सकते हैं। निम्न आदेशों को चाल करना चाहिए
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
यदि आप चाहते हैं कि आपकी फ़ाइल पासवर्ड से सुरक्षित हो आदि, तो अतिरिक्त विकल्प हैं।
आप पूरे दस्तावेज यहां पढ़ सकते हैं ।
लिनक्स पर करने के लिए एक और परिप्रेक्ष्य ... यहां यह है कि ऐसा कैसे करें ताकि परिणामस्वरूप एकल फ़ाइल में डिक्रिप्ट की गई निजी कुंजी हो ताकि 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
तब आप HAProxy को file.combo.pem फ़ाइल का उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं।
जिस कारण आपको 2 अलग-अलग चरणों की आवश्यकता होती है जहां आप एक फ़ाइल को कुंजी के साथ इंगित करते हैं और कुंजी के बिना एक और, क्योंकि अगर आपके पास एक फ़ाइल है जिसमें एन्क्रिप्टेड और डिक्रिप्ट की गई दोनों कुंजी है, तो HAProxy जैसी कुछ भी आपको पासबुक में टाइप करने के लिए संकेत देती है जब इसका उपयोग करता है।
इसके बावजूद कि अन्य उत्तर सही हैं और पूरी तरह से समझाया गया है, मुझे उन्हें समझने में कुछ कठिनाइयाँ आईं। यहाँ मैं इस्तेमाल किया विधि है ( यहाँ से लिया गया है ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
एक 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