इसका इस्तेमाल कैसे करें
- पूरा PEM ब्लॉक, या सिर्फ उसका Base64, सर्टिफिकेट में चिपकाएँ।
- सब्जेक्ट और जारीकर्ता पढ़ें, ताकि पता चले कि सर्टिफिकेट किसके लिए है और उस पर किसने हस्ताक्षर किया।
- वैधता देखें। यह आपके समय क्षेत्र में आज की तारीख से बचे दिन गिनती है।
- सर्टिफिकेट पर भरोसा करने से पहले SHA-256 फिंगरप्रिंट को उस मान से मिलाएँ जो साइट, विक्रेता या सर्टिफिकेट जारी करने वाली संस्था प्रकाशित करती है।
सर्टिफिकेट में क्या लिखा होता है
X.509 सर्टिफिकेट (RFC 5280) एक सार्वजनिक कुंजी को एक नाम से जोड़ता है और उस पर एक जारीकर्ता हस्ताक्षर करता है। यह ASN.1 DER में लिखा जाता है, जो टैग वाले मानों का एक पेड़ है। PEM ब्लॉक वही DER है, जो BEGIN और END पंक्तियों के बीच Base64 में लिखा गया है (RFC 7468)। पेज अपने छोटे DER रीडर से यह पेड़ पढ़ता है और हर खाना दिखाता है।
Certificate ::= SEQUENCE { tbsCertificate, signatureAlgorithm, signatureValue }
TBSCertificate ::= SEQUENCE { version [0], serialNumber, signature, issuer,
validity, subject, subjectPublicKeyInfo, ..., extensions [3] }
पेज क्या नहीं जाँचता
पेज हस्ताक्षर की जाँच नहीं करता, भरोसेमंद रूट तक की शृंखला नहीं बनाता, यह नहीं देखता कि सर्टिफिकेट रद्द हुआ है या नहीं, और होस्ट से कनेक्ट नहीं करता। सर्टिफिकेट यहाँ वैध दिख सकता है और फिर भी ब्राउज़र या सर्वर उसे ठुकरा सकता है। इन जाँचों के लिए जारीकर्ता की सार्वजनिक कुंजी और ट्रस्ट स्टोर चाहिए, जो इस पेज के पास नहीं हैं।
बचे दिन आज की तारीख से Not after की तारीख तक गिने जाते हैं, दोनों दिन शामिल। जो सर्टिफिकेट Not after से पहले रद्द हो गया है, वह भी यहाँ अपनी तारीखें दिखाता है, क्योंकि पेज कोई रद्दीकरण सूची नहीं पढ़ता और OCSP से नहीं पूछता।
फिंगरप्रिंट
फिंगरप्रिंट पूरे DER बाइट्स का डाइजेस्ट है। जिन दो सर्टिफिकेट का SHA-256 फिंगरप्रिंट एक है, वे एक ही सर्टिफिकेट हैं। SHA-1 अब टक्कर-प्रतिरोधी नहीं है, इसलिए पक्का मिलान करना हो तो SHA-256 मान की तुलना करें। SHA-1 मान इसलिए दिखाया जाता है क्योंकि कई पुरानी सूचियाँ अब भी उसे छापती हैं।
हल किया हुआ उदाहरण: Let's Encrypt का E5 इंटरमीडिएट (डिफॉल्ट)
डिफॉल्ट सर्टिफिकेट Let's Encrypt का E5 इंटरमीडिएट है, जिस पर ISRG Root X2 ने ECDSA P-384 से हस्ताक्षर किया है। पेज इससे ये खाने पढ़ता है। वैधता की स्थिति उस दिन पर निर्भर है जिस दिन आप इसे पढ़ते हैं, इसलिए वह तालिका में नहीं है; बाकी खाने हर दिन एक जैसे रहते हैं।
| खाना | मान |
|---|---|
| संस्करण | 3 |
| सीरियल नंबर | 18:6E:75:D4:EE:B0:A0:5D:FD:2D:A8:20:86:5D:1E:31 |
| हस्ताक्षर एल्गोरिदम | ECDSA with SHA-384 (1.2.840.10045.4.3.3) |
| जारीकर्ता | C=US, O=Internet Security Research Group, CN=ISRG Root X2 |
| सब्जेक्ट | C=US, O=Let's Encrypt, CN=E5 |
| शुरुआत की तारीख (Not before) | 13 मार्च 2024, 12:00:00 AM UTC |
| समाप्ति की तारीख (Not after) | 12 मार्च 2027, 11:59:59 PM UTC |
| सार्वजनिक कुंजी | एलिप्टिक कर्व P-384, 384 बिट |
| कुंजी का उपयोग | Digital Signature, Certificate Sign, CRL Sign |
| विस्तारित कुंजी उपयोग | TLS क्लाइंट प्रमाणीकरण, TLS सर्वर प्रमाणीकरण |
| मूल प्रतिबंध (Basic constraints) | CA: हाँ, पाथ की लंबाई 0 |
| SHA-256 फिंगरप्रिंट | E7:88:D1:4B:04:36:B5:12:0B:BE:E3:F1:5C:15:BA:DF:08:C1:40:7F:E7:25:68:A4:F1:6F:91:51:C3:80:E1:E3 |
अक्सर पूछे जाने वाले सवाल
मेरा सर्टिफिकेट यहाँ वैध दिखता है, पर ब्राउज़र उसे वैध क्यों नहीं बताता?
पेज सिर्फ खाने और तारीखें पढ़ता है। ब्राउज़र हस्ताक्षर, भरोसेमंद रूट तक की शृंखला, होस्ट का नाम और रद्दीकरण भी जाँचता है। इन जाँचों के लिए जो डेटा चाहिए, वह इस पेज के पास नहीं है।
SHA-1 और SHA-256 फिंगरप्रिंट में क्या फर्क है?
दोनों एक ही DER बाइट्स के दो डाइजेस्ट हैं। SHA-1 अब टक्कर-प्रतिरोधी नहीं है, इसलिए पक्का मिलान SHA-256 से करें। SHA-1 मान इसलिए दिखाया जाता है क्योंकि कई पुरानी सूचियाँ अब भी उसे छापती हैं।
BEGIN CERTIFICATE से शुरू होने वाले PEM ब्लॉक में क्या होता है?
PEM (RFC 7468) सर्टिफिकेट के DER बाइट्स को Base64 में लपेटता है, और उसकी शुरुआत व अंत की पंक्तियों पर CERTIFICATE लिखा होता है। पेज Base64 टेक्स्ट को अकेले भी स्वीकार करता है।
RSA कुंजी का आकार बिट में और ECDSA का कर्व के रूप में क्यों दिखता है?
RSA कुंजी का वर्णन उसके मॉड्यूलस की लंबाई से होता है, जो बिट में है। ECDSA कुंजी का वर्णन उसके कर्व से होता है, जैसे P-256 या P-384, और वही कुंजी का आकार तय करता है।
CA: हाँ, पाथ की लंबाई 0 का क्या मतलब है?
यह सर्टिफिकेट एंड-एंटिटी सर्टिफिकेट पर हस्ताक्षर कर सकता है, पर उसके नीचे कोई और इंटरमीडिएट सर्टिफिकेट जारीकर्ता नहीं हो सकता (RFC 5280, खंड 4.2.1.9)। मूल प्रतिबंध सर्टिफिकेट से पढ़े जाते हैं, किसी शृंखला से मिलाए नहीं जाते।
क्या पेज मेरा सर्टिफिकेट कहीं भेजता है?
नहीं। DER बाइट्स ब्राउज़र में पढ़े जाते हैं और फिंगरप्रिंट ब्राउज़र में बनते हैं। कुछ भी अपलोड या संग्रहित नहीं होता, और पेज सर्टिफिकेट में लिखे होस्ट से कनेक्ट नहीं करता।
स्रोत
- RFC 5280 (अंग्रेजी में): Internet X.509 Public Key Infrastructure Certificate and CRL Profile
- RFC 7468 (अंग्रेजी में): Textual Encodings of PKIX, PKCS, and CMS Structures
- ITU-T X.690 (अंग्रेजी में): ASN.1 encoding rules (DER)
- Let's Encrypt certificate repository (अंग्रेजी में)
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।