pfx प्रारूप को p12 में बदलें


119

मुझे एक .pfxअन्य एप्लिकेशन में उपयोग करने के लिए एक प्रारूप प्रमाण पत्र (विंडोज़ एमएमसी से) .p12 निर्यात करने की आवश्यकता है । मैं ऐसा करने का एक तरीका नहीं ढूँढ सकता। क्या कोई विधि सुझा सकता है?

जवाबों:


202

.p12और .pfxदोनों PKCS # 12 फाइलें हैं। क्या मैं कुछ भूल रहा हूँ?

क्या आपने एक्सटेंशन .pfxकरने के लिए निर्यात की गई फ़ाइल का नाम बदलने की कोशिश की है .p12?


9
आपको आश्चर्य होता है कि अगर वे वास्तव में हूड के नीचे एक ही चीज हैं तो वे दो अलग-अलग फ़ाइल एक्सटेंशन क्यों हैं।
BrainSlugs83

29
दो फ़ाइल एक्सटेंशन ऐतिहासिक होने का कारण है। PFX एक Microsoft एक्सटेंशन था, जबकि P12 नेटस्केप एक था। दोनों स्वरूपों को अब समान होने के लिए रूपांतरित किया गया है, जिसका अर्थ है कि डेवलपर्स .NET System.Security.Cryptography.X509Cert प्रमाणपत्र नामस्थान का उपयोग करने में सक्षम हैं, जो उन दोनों के साथ काम करता है। अधिक जानकारी के लिए यहाँ देखें ।
स्नैपशॉट

6
PKCS # 12 फ़ाइलों का फ़ाइल नाम एक्सटेंशन ".p12" या ".pfx" है। माइक्रोसॉफ्ट के "पीएफएक्स" को सबसे जटिल क्रिप्टोग्राफिक प्रोटोकॉल में से एक होने की भारी आलोचना मिली है। PKCS # 12 Microsoft के "PFX" का उत्तराधिकारी है। पीएससीएस # 12 आरएसए प्रयोगशालाओं द्वारा प्रकाशित सार्वजनिक-कुंजी क्रिप्टोग्राफी मानक (पीकेसीएस) नामक मानकों के परिवार में से एक है।
AKS

1
नाम बदलना हमेशा काम नहीं कर रहा है क्योंकि। उदाहरण के लिए यदि आप SoapUI का उपयोग करते हैं और इसे विफल करने के लिए 2-तरफ़ा प्रमाणीकरण का परीक्षण करते हैं। p12 & pfx का इतिहास नेटस्केप और IE के पास है। वे समान हैं, लेकिन समान फ़ाइलें नहीं हैं। इसलिए कुछ ऐप विस्तार की परवाह किए बिना दोनों को समझ सकते हैं और अन्य को 100% संगत वैध p12 की आवश्यकता होती है जैसे कि सोपुई
एम। हफनी

10

मुझे openconnect के साथ एक .pfx फ़ाइल में परेशानी हुई। नाम बदलने से समस्या हल नहीं हुई। मैंने इसे .p12 में बदलने के लिए कीटूल का इस्तेमाल किया और यह काम कर गया।

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

मेरे मामले में नई फ़ाइल (new.p12) के लिए पासवर्ड .pfx फ़ाइल के पासवर्ड के समान ही होना चाहिए।


2
काम नहीं किया, भले ही मैंने दोनों के लिए एक ही पासवर्ड का उपयोग किया हो। त्रुटि मिली "कीटूल त्रुटि: java.io.IOException: अमान्य कीस्टॉर प्रारूप"
जॉन स्मिथ

5

यदि आप UI के साथ एक त्वरित और मैन्युअल प्रक्रिया की तलाश कर रहे हैं। मैं हमेशा PFX से P12 में परिवर्तित होने के लिए मोज़िला फ़ायरफ़ॉक्स का उपयोग करता हूं। पहले प्रमाण पत्र को फ़ायरफ़ॉक्स ब्राउज़र में आयात करें (विकल्प> गोपनीयता और सुरक्षा> प्रमाणपत्र देखें ...> आयात ...)। इंस्टॉल हो जाने के बाद, सर्टिफिकेट मैनेजर से सर्टिफिकेट का नाम चुनकर P12 फाइल बनाने के लिए एक्सपोर्ट करें और फिर बैकअप पर क्लिक करें ... और फाइल का नाम डालें और फिर पासवर्ड डालें।


4

यह जगलोई की प्रतिक्रिया की निरंतरता से अधिक है।

यदि आप पीकेसीएस # 12 प्रमाण पत्र को सार्वजनिक / निजी पीईएम कुंजी में बदलने के लिए ओपनसेल का उपयोग कर रहे हैं, तो फ़ाइल का नाम बदलने की कोई आवश्यकता नहीं है। मान लिया जाए कि फ़ाइल को सर्टिफ़िकेट कहा जाता है। Pfx, निम्नलिखित तीन कमांड सार्वजनिक pem कुंजी और एक एन्क्रिप्टेड निजी साइटमैप बनाएगा:

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

पहले दो आदेश आयात पासवर्ड के लिए संकेत दे सकते हैं। यह एक पासवर्ड होगा जो PKCS # 12 फ़ाइल के साथ प्रदान किया गया था।

तीसरा कमांड आपको प्रमाणपत्र के लिए एन्क्रिप्शन पासफ़्रेज़ निर्दिष्ट करने देगा। प्रमाणपत्र का उपयोग करते समय आप यही दर्ज करेंगे।


पहला कमांड दूसरे को अधिलेखित करता है, इसलिए शायद सिर्फ चरण 2 और 3. पाठकों के लिए FYI करें, Des3 निजी कुंजी के लिए डिफ़ॉल्ट एन्क्रिप्शन है।
goodguys_activate

1

.certफ़ाइल को बदलने के लिए इस कमांड को चलाएँ .p12:

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

जहां server.keyसर्वर की है और server.certCA इश्यू सर्टिफिकेट या सेल्फ साइन सर्टिफिकेट फाइल है।

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