.Pem, .cer और .der में क्या अंतर हैं?


86

और .pem, के बीच अंतर क्या हैं ?.cer.der

जहाँ तक मुझे पता है, .cerसार्वजनिक कुंजी शामिल है। क्या कोई खुली रूपरेखा है जिसका उपयोग मैं इस सार्वजनिक कुंजी का उपयोग करके अपने डेटा को एन्क्रिप्ट करने के लिए कर सकता हूं?


2
मुझे लगता है कि वे सभी फ़ाइल प्रारूप हैं जो किसी भी कुंजी को संग्रहीत कर सकते हैं; ऐसे उपकरण हैं जो उनके बीच स्वतंत्र रूप से परिवर्तित कर सकते हैं।
IMSoP

1
@IMSoP आप सही हैं, लेकिन .cer के लिए। cpकमांड आदेश कर सकते हैं :)
Maarten Bodewes

मैंने iOS विशिष्ट भाग को हटा दिया है, वहाँ बहुत सारे उदाहरण मिलते हैं, जैसे कि यह एक और यह अन्य । pem का उपयोग कर रहा है।
Maarten Bodewes

जवाबों:


93

.pem, .cerऔर .derउन फ़ाइलों के लिए सभी फ़ाइल एक्सटेंशन हैं जिनमें X.509 v3 प्रमाणपत्र हो सकता है।

.derविस्तार

DER सर्टिफिकेट बनाने वाले डेटा को एन्कोडिंग करने की विधि है। DER स्वयं किसी भी प्रकार के डेटा का प्रतिनिधित्व कर सकता है , लेकिन आमतौर पर यह एक एन्कोडेड प्रमाणपत्र या CMS कंटेनर का वर्णन करता है।

एक प्रमाणपत्र की संरचना ASN.1 डेटा प्रतिनिधित्व भाषा का उपयोग करके वर्णित है। BER और DER ASN.1 द्वारा वर्णित डेटा के लिए द्विआधारी एन्कोडिंग तरीके हैं।

.pemविस्तार

PEM एक स्ट्रिंग (ASCII कवच) के रूप में द्विआधारी डेटा को एन्कोडिंग करने की एक विधि है। इसमें एक हेडर और एक पाद लाइन होती है (डेटा के प्रकार को निर्दिष्ट करता है जो एन्कोडेड है और यदि डेटा को एक साथ जंजीर में डाला गया है तो स्टार्ट / एंड दिखा रहा है) और बीच में डेटा बेस 64 डेटा है। इस मामले में कि यह एक प्रमाण पत्र को एनकोड करता है, इसमें बस डीईआर प्रमाणपत्र के आधार 64 एन्कोडिंग शामिल होंगे। PEM का मतलब गोपनीयता बढ़ाने वाला मेल है; मेल में बिना बाइनरी मान शामिल नहीं हो सकते जैसे DER सीधे।

PEM अन्य प्रकार के डेटा को सार्वजनिक / निजी कुंजी, प्रमाणपत्र अनुरोध आदि जैसे प्रमाणपत्रों से संबंधित / सांकेतिक शब्दों में बदलना / संरक्षित कर सकता है। यदि सामग्री एक सामान्य X509v3 प्रमाणपत्र है, तो PEM निम्नानुसार एन्कोडेड है:

-----BEGIN CERTIFICATE-----
... base 64 encoding of the DER encoded certificate
    with line endings and padding with equals signs ...
-----END CERTIFICATE-----

ध्यान दें कि एक PEM फ़ाइल में एक पूर्ण प्रमाणपत्र श्रृंखला भी हो सकती है, जहाँ श्रृंखला सेवा के पत्ते / अंतिम प्रमाण पत्र के साथ शुरू होती है, उसके बाद उस प्रमाणपत्र पर हस्ताक्षर करती है, जो आमतौर पर साइन अप किया जाता है, लेकिन विश्वसनीय रूट प्रमाणपत्र सहित नहीं। इसलिए यदि आप प्रमाणपत्रों को याद कर रहे हैं तो आप पहले वाले के पीछे एक नज़र डाल सकते हैं।

.cerया .crtविस्तार

.cerबस प्रमाण पत्र के लिए खड़ा है। यह सामान्य रूप से डीईआर एनकोडेड डेटा है, लेकिन विंडोज़ पीईएम एनकोडेड डेटा को भी स्वीकार कर सकता है। आपको file100% सुनिश्चित होने के लिए फ़ाइल के भीतर क्या है यह देखने के लिए सामग्री (जैसे पॉज़िक्स सिस्टम पर उपयोगिता का उपयोग ) पर एक नज़र डालने की आवश्यकता है।

अन्य ओपनएसएसएल प्रारूप

ओपनएसएसएल द्वारा समर्थित की एक अधिक व्यापक सूची के लिए इस उत्तर पर एक नज़र डालें ।


प्रमाण पत्र में निहित सार्वजनिक कुंजी (और प्रमाणपत्र में हस्ताक्षर द्वारा हस्ताक्षरित) का उपयोग करने के लिए, आपको किसी भी पुस्तकालय का उपयोग करना चाहिए जो एक्स 509 प्रमाणपत्रों को पार्स करता है और आरएसए एन्क्रिप्शन करता है। आप एक उपकरण का उपयोग कर सकते हैं जो पीईएम एन्कोडिंग का पता लगाता है / संभालता है या आप पहले पीईई एन्कोडिंग को बंद करके डीईआर को प्रमाणपत्र बदल सकते हैं।

ओपनएसएसएल कमांड लाइन में पीईएम और डीईआर के बीच परिवर्तित करने के लिए बहुत सारे विकल्प हैं, उच्च स्तर के प्रमाण पत्र की जानकारी का प्रिंट आउट लें या इसमें क्या है, इसका निम्न स्तर का दृश्य प्राप्त करने के लिए ASN.1 को पार्स करें।

विवरण

अधिकांश ASN.1 संरचनाओं की तरह, DER एन्कोडेड प्रमाणपत्र हमेशा एक बाइट के साथ शुरू होता है 30जो ASN.1 का टैग एन्कोडिंग है SEQUENCE। यदि आप फ़ाइल में बहुत अधिक पुनरावृत्ति देख रहे हैं तो यह ठीक है; यह केवल संरचना है जिसे कड़ाई से परिभाषित किया गया है।

इसी तरह, पीईएम एनकोडेड फाइल के भीतर बेस 64 हमेशा अक्षर से शुरू होता है Mक्योंकि ASN.1 SEQUENCEएक बाइट के साथ शुरू होता है 30, इसलिए पहले 6 बिट्स होते हैं 001100, जो 12 नंबर पर ट्रांसलेट होता है, जो अक्षर का सूचकांक है M। तेरहवाँ अक्षर।

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