एक सेर, pvk और pfx फ़ाइल में क्या अंतर है?


203

एक सेर, pvk और pfx फ़ाइल में क्या अंतर है? इसके अलावा, मैं कौन सी फाइलें रखता हूं और मुझे अपने काउंटर-पार्टियों को देने की उम्मीद है?


इसके अलावा [१] , [२] , [३]
पेसियर

जवाबों:


142

Windows X.509 प्रमाणपत्र के लिए .cer एक्सटेंशन का उपयोग करता है। ये "बाइनरी" (ASN.1 DER) में हो सकते हैं, या इसे बेस -64 के साथ एनकोड किया जा सकता है और इसमें हेडर और फूटर लगाया (PEM) लगाया जा सकता है; विंडोज या तो पहचान लेगा। किसी प्रमाणपत्र की अखंडता को सत्यापित करने के लिए, आपको जारीकर्ता की सार्वजनिक कुंजी का उपयोग करके उसके हस्ताक्षर की जांच करनी होगी ... जो बदले में, एक अन्य प्रमाण पत्र है।

Windows एक PKCS # 12 फ़ाइल के लिए .pfx का उपयोग करता है। इस फ़ाइल में विभिन्न प्रकार की क्रिप्टोग्राफ़िक जानकारी हो सकती है, जिसमें प्रमाण पत्र, प्रमाण पत्र श्रृंखला, रूट प्राधिकरण प्रमाणपत्र और निजी कुंजी शामिल हैं। निजी कुंजी को निजी रखने और रूट प्रमाणपत्र की अखंडता को बनाए रखने के लिए इसकी सामग्री को क्रिप्टोग्राफिक रूप से संरक्षित (पासवर्ड के साथ) किया जा सकता है।

Windows एक निजी कुंजी फ़ाइल के लिए .pvk का उपयोग करता है। मुझे यकीन नहीं है कि क्या मानक (यदि कोई हो) विंडोज इन के लिए अनुसरण करता है। उम्मीद है कि वे PKCS # 8 एन्कोडेड कीज़ हैं। इमैनुएल बोर्ग रिपोर्ट करते हैं कि ये एक मालिकाना प्रारूप हैं। कुछ प्रलेखन उपलब्ध है।

आपको कभी भी अपनी निजी कुंजी का खुलासा नहीं करना चाहिए। ये .pfx और .pvk फ़ाइलों में समाहित हैं।

आम तौर पर, आप केवल अपने प्रमाणपत्र (.cer) और किसी भी मध्यवर्ती जारीकर्ताओं के प्रमाण पत्र (यानी, आपके सभी सीए के प्रमाण पत्र, रूट सीए को छोड़कर) अन्य दलों के साथ विनिमय करते हैं।


7
PVK फाइलें PKCS # 8 में नहीं हैं, यह एक मालिकाना प्रारूप है। Drh-consultancy.demon.co.uk/pvk.html
इमैनुएल

विंडो में pvk2pfx.exe उपयोगिता की तलाश करें SDKs
BozoJoe

@ersonson, .pvk का आविष्कार करने की बात क्या है? .Pfx पर्याप्त नहीं है?
22

@Pacerier हाँ, .pfx पर्याप्त है। मुझे यकीन नहीं है कि .pvk का बिंदु क्या था; मैं केवल अनुमान लगा सकता हूं कि यह अज्ञान में आविष्कार किया गया था।
एरिक्सन

55

Windows प्लेटफ़ॉर्म में, इन फ़ाइल प्रकारों का उपयोग प्रमाणपत्र जानकारी के लिए किया जाता है। आम तौर पर एसएसएल सर्टिफिकेट और पब्लिक की इंफ्रास्ट्रक्चर (X.509) के लिए उपयोग किया जाता है।

  • CER फ़ाइलें: CER फ़ाइल का उपयोग X.509 प्रमाणपत्र को संग्रहीत करने के लिए किया जाता है। वेब सर्वर सुरक्षा को सत्यापित करने और पहचानने के लिए आम तौर पर एसएसएल प्रमाणन के लिए उपयोग किया जाता है। फ़ाइल में प्रमाणपत्र स्वामी और सार्वजनिक कुंजी के बारे में जानकारी है। एक CER फ़ाइल बाइनरी (ASN.1 DER) में हो सकती है या हेडर और फुटर (PEM) के साथ बेस -64 के साथ एन्कोड किया गया है, विंडोज इन लेआउटों में से किसी एक को पहचान लेगा।
  • PVK फाइलें: निजी कुंजी के लिए खड़ा है। Microsoft विभिन्न Microsoft उत्पादों में कोड साइनिंग के लिए निजी कुंजियों को संग्रहीत करने के लिए PVK फ़ाइलों का उपयोग करता है। PVK मालिकाना प्रारूप है।
  • PFX फाइलें पर्सनल एक्सचेंज फॉर्मेट, पीकेसीएस 12 फाइल है। इसमें विभिन्न प्रकार की क्रिप्टोग्राफिक जानकारी शामिल है, जैसे प्रमाण पत्र, रूट प्राधिकरण प्रमाण पत्र, प्रमाण पत्र श्रृंखला और निजी कुंजी। यह निजी कुंजी को निजी रखने और रूट प्रमाणपत्रों की अखंडता को संरक्षित करने के लिए पासवर्ड के साथ क्रिप्टोग्राफिक रूप से संरक्षित है। PFX फ़ाइल का उपयोग विभिन्न Microsoft उत्पादों, जैसे IIS में भी किया जाता है।

अधिक जानकारी के लिए देखें: सर्टिफिकेट फाइलें: .Cer x .Pvk x .Pfx


4
Cer फ़ाइलें: .... "फ़ाइल में प्रमाणपत्र स्वामी और सार्वजनिक और निजी प्रमाणपत्र कुंजी के बारे में जानकारी होती है" ... गलत है। जैसा कि एरिकसन ने अपने जवाब में बताया: इसमें केवल सार्वजनिक कुंजी के बारे में जानकारी होती है। निजी और सार्वजनिक दोनों कुंजियों के साथ .cer फ़ाइल बेकार होगी।
थिर_हायक

1
ये गलत है। .Cer फ़ाइल में कोई भी निजी कुंजी नहीं है। कृपया अपना उत्तर सुधारें।
ANGGuyInTown

36

यहाँ मेरे व्यक्तिगत, सुपर-कंडेंस्ड नोट हैं, जहाँ तक यह विषय वर्तमान में मेरे लिए है, जो किसी के लिए भी दिलचस्पी रखते हैं:

  • पीकेसीएस 12 और पीईएम दोनों पूरी प्रमाणित श्रृंखलाओं को संग्रहीत कर सकते हैं: सार्वजनिक कुंजी, निजी कुंजी और रूट (सीए) सेर्ट
  • .pfx == .p12 == " PKCS12 "
    • पूरी तरह से एन्क्रिप्टेड
  • .pem == .cer == .cert == " पीईएम "
    • base-64 (string) ने हेडर और फुटर के साथ X509 सर्टिफिकेट (बाइनरी) एनकोड किया
      • बेस -64 मूल रूप से "A-Za-z0-9 + /" की एक स्ट्रिंग है, जिसका उपयोग एक समय में 0-63, 6 बिट्स के बाइनरी का प्रतिनिधित्व करने के लिए किया जाता है, क्रम में, कभी-कभी 1 या 2 "=" वर्णों के साथ अंत जब बचे हुए होते हैं ("=" "फिलर / जंक / इग्नोर / थ्रो" वर्ण)
      • शीर्ष लेख और पाद लेख कुछ ऐसा है जैसे "----- BEGIN CERTIFICATE -----" और "----- END प्रमाण पत्र -----" या "----- BEGIN प्रमाणित निजी कुंजी --- - "और" ----- END अनुमानित निजी कुंजी ----- "
    • Windows .cer और .cert को प्रमाणित फ़ाइलों के रूप में पहचानता है
  • .jks == " जावा की स्टोर "
    • केवल एक जावा-विशिष्ट फ़ाइल प्रारूप जो एपीआई का उपयोग करता है
      • .p12 और .pfx फाइलें JKS API के साथ भी उपयोग की जा सकती हैं
  • " ट्रस्ट स्टोर्स " में सार्वजनिक, विश्वसनीय, रूट (CA) सेर्ट्स होते हैं , जबकि " आइडेंटिटी / की-स्टोर्स " में निजी, पहचान सीट्स होते हैं; फ़ाइल-वार, हालांकि, वे समान हैं।

तो .pv को कहाँ परिभाषित किया गया है?
zwcloud

@zwcloud मैंने उस समय जो मुझे पता था वह दिया। दूसरे जवाब देते हैं कि।
एंड्रयू

18

मैं वास्तव में कुछ इस तरह से बहुत पहले आया था ... इसे msdn पर देखें (पहला उत्तर देखें)

संक्षेप में:

.cer - X.509 मानक प्रारूप में संग्रहीत प्रमाण पत्र। इस प्रमाणपत्र में सार्वजनिक और निजी कुंजी के साथ प्रमाणपत्र के स्वामी के बारे में जानकारी शामिल है।

.pvk - फ़ाइलों का उपयोग कोड हस्ताक्षर के लिए निजी कुंजी को संग्रहीत करने के लिए किया जाता है। आप .pvk निजी कुंजी फ़ाइल पर आधारित प्रमाणपत्र भी बना सकते हैं।

.pfx - व्यक्तिगत विनिमय प्रारूप के लिए है। इसका उपयोग सार्वजनिक और निजी वस्तुओं को एक ही फाइल में बदलने के लिए किया जाता है। Pfx फ़ाइल .cer फ़ाइल से बनाई जा सकती है। सॉफ्टवेयर प्रकाशक प्रमाणपत्र बनाने के लिए भी इस्तेमाल किया जा सकता है ।

मैंने टिप्पणियों से सुझाव के आधार पर पृष्ठ से जानकारी को संक्षेप में प्रस्तुत किया।


2
मैं लिंक के अलावा लिंक की गई सामग्री को उद्धृत या सारांशित करने की सलाह दूंगा। इस तरह आप दोनों उचित श्रेय देते हैं और अगली बार MS को उनकी साइट को फिर से डिज़ाइन करने की जानकारी को खोने से बचाते हैं।
जोनाथन एलन

मैंने वह लिंक देखा है, लेकिन मैं इस सवाल का पूरी तरह से जवाब नहीं देता।
जोनाथन एलन

15
साथ ही, लिंक की कुछ जानकारी गलत है। उदाहरण के लिए, आप किसी प्रमाणपत्र से निजी कुंजी नहीं निकाल सकते। जाहिर है।
एरिक्सन

ऊपर टिप्पणी करने के लिए, यह निष्कर्षण के बारे में नहीं है। यह सिर्फ .cer फ़ाइलों में निजी कुंजी रखने के लिए कोई मतलब नहीं है। .Cer फ़ाइल को बाहरी दुनिया के साथ साझा किया जाना चाहिए, इसलिए यह केवल सार्वजनिक कुंजी लेती है।
राजीव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.