प्रमाणपत्र डिकोडर - X.509 PEM प्रमाणपत्र डिकोड करें ऑनलाइन
X.509 PEM प्रमाणपत्रों को डिकोड और निरीक्षण करें। विषय, जारीकर्ता, वैधता, एक्सटेंशन, SANs और फिंगरप्रिंट देखें — 100% क्लाइंट-साइड।
अक्सर पूछे जाने वाले प्रश्न
सर्टिफिकेट डिकोडर क्या है?
सर्टिफिकेट डिकोडर एक ऑनलाइन टूल है जो X.509 PEM-एन्कोडेड डिजिटल सर्टिफिकेट को पार्स करता है और उनकी सामग्री को मानव-पठनीय प्रारूप में प्रदर्शित करता है। X.509 सर्टिफिकेट सुरक्षित HTTPS कनेक्शन स्थापित करने के लिए SSL/TLS में उपयोग किया जाने वाला मानक प्रारूप है। ये ASN.1 DER (Distinguished Encoding Rules) का उपयोग करके एन्कोड किए जाते हैं और Base64 एन्कोडिंग के साथ PEM (Privacy-Enhanced Mail) प्रारूप में लपेटे जाते हैं। यह टूल डोमेन नाम (Subject), जारीकर्ता प्रमाणपत्र प्राधिकरण (Issuer), वैधता तिथियां, सार्वजनिक कुंजी विवरण और सुरक्षा एक्सटेंशन जैसी प्रमुख जानकारी निकालता है — बिना OpenSSL इंस्टॉल किए या कमांड-लाइन टूल का उपयोग किए।
इस सर्टिफिकेट डिकोडर का उपयोग कैसे करें?
1. अपना PEM सर्टिफिकेट .pem, .crt, या .cer फ़ाइल से प्राप्त करें, या अपने वेब सर्वर या ब्राउज़र से निर्यात करें। 2. PEM टेक्स्ट को इनपुट टेक्स्ट क्षेत्र में पेस्ट करें। सर्टिफिकेट -----BEGIN CERTIFICATE----- से शुरू और -----END CERTIFICATE----- से समाप्त होना चाहिए। 3. टूल स्वचालित रूप से सर्टिफिकेट को डिकोड करता है और परिणाम प्रदर्शित करता है — किसी बटन क्लिक की आवश्यकता नहीं। 4. त्वरित अवलोकन के लिए सर्टिफिकेट सारांश कार्ड की समीक्षा करें (डोमेन, जारीकर्ता, समाप्ति स्थिति)। 5. अधिक जानकारी के लिए विवरण, एक्सटेंशन और चेन टैब में नेविगेट करें। 6. किसी भी फ़ील्ड के बगल में कॉपी बटन पर क्लिक करके उसका मान कॉपी करें। 7. सर्टिफिकेट चेन के लिए, सभी सर्टिफिकेट क्रम में पेस्ट करें।
क्या मेरा सर्टिफिकेट डेटा सुरक्षित है? क्या यह सर्वर पर भेजा जाता है?
आपका सर्टिफिकेट डेटा 100% सुरक्षित है और कभी भी आपके ब्राउज़र से बाहर नहीं जाता। सभी सर्टिफिकेट पार्सिंग — ASN.1 डिकोडिंग, एक्सटेंशन निष्कर्षण, फिंगरप्रिंट गणना — पूरी तरह से JavaScript का उपयोग करके क्लाइंट-साइड पर की जाती है। टूल ASN.1 पार्सिंग के लिए @peculiar/x509 लाइब्रेरी और फिंगरप्रिंट गणना के लिए ब्राउज़र की नेटिव Web Crypto API का उपयोग करता है। किसी भी सर्वर पर कोई डेटा प्रेषित नहीं होता, कोई एनालिटिक्स आपकी सर्टिफिकेट सामग्री को ट्रैक नहीं करता, और आपके ब्राउज़र टैब की मेमोरी के अलावा कहीं भी कोई डेटा संग्रहीत नहीं होता।
PEM और DER प्रारूप में क्या अंतर है?
DER (Distinguished Encoding Rules) ASN.1 नियमों के अनुसार X.509 सर्टिफिकेट डेटा को एन्कोड करने के लिए उपयोग किया जाने वाला कच्चा बाइनरी प्रारूप है। यह एक कॉम्पैक्ट बाइनरी प्रतिनिधित्व है जो मानव-पठनीय नहीं है। PEM (Privacy-Enhanced Mail) DER डेटा के चारों ओर एक टेक्स्ट-आधारित आवरण है। यह DER बाइट्स को Base64 में एन्कोड करता है और -----BEGIN CERTIFICATE----- तथा -----END CERTIFICATE----- मार्कर जोड़ता है। PEM सर्टिफिकेट विनिमय के लिए सबसे आम प्रारूप है क्योंकि इसे टेक्स्ट के रूप में सुरक्षित रूप से कॉपी और पेस्ट किया जा सकता है। यह टूल PEM प्रारूप स्वीकार करता है।
सर्टिफिकेट चेन क्या है और यह टूल इसे कैसे संभालता है?
सर्टिफिकेट चेन (या ट्रस्ट चेन) सर्टिफिकेट की एक श्रृंखला है जो किसी वेबसाइट के लीफ सर्टिफिकेट को विश्वसनीय रूट सर्टिफिकेट अथॉरिटी (CA) से जोड़ती है। चेन आमतौर पर इनसे बनी होती है: 1) लीफ सर्टिफिकेट — सर्वर का अपना सर्टिफिकेट जिसमें डोमेन नाम होता है, 2) इंटरमीडिएट CA सर्टिफिकेट — रूट CA द्वारा हस्ताक्षर प्राधिकार सौंपने के लिए जारी किए गए सर्टिफिकेट, 3) रूट CA सर्टिफिकेट — विश्वसनीय सर्टिफिकेट अथॉरिटी का स्व-हस्ताक्षरित सर्टिफिकेट। जब आप कई सर्टिफिकेट वाला PEM ब्लॉक पेस्ट करते हैं, तो यह टूल प्रत्येक को पार्स करता है और चेन क्रम में प्रदर्शित करता है।
X.509 v3 एक्सटेंशन क्या हैं?
X.509 v3 एक्सटेंशन सर्टिफिकेट में वैकल्पिक फ़ील्ड हैं जो अतिरिक्त जानकारी प्रदान करते हैं। सामान्य एक्सटेंशन में शामिल हैं: अतिरिक्त डोमेन नाम और IP के लिए Subject Alternative Names (SAN), अनुमत क्रिप्टोग्राफिक संचालन के लिए Key Usage (डिजिटल हस्ताक्षर, कुंजी एन्सिफ़रमेंट), TLS सर्वर प्रमाणीकरण या कोड साइनिंग जैसे विशिष्ट उद्देश्यों के लिए Extended Key Usage, सर्टिफिकेट CA है या नहीं यह इंगित करने के लिए Basic Constraints, सर्टिफिकेट चेन बनाने के लिए Authority/Subject Key Identifier, और निरस्तीकरण जांच के लिए CRL Distribution Points। एक्सटेंशन Critical (सत्यापनकर्ता द्वारा समझा जाना आवश्यक) या Non-Critical (सूचनात्मक) हो सकते हैं।
सर्टिफिकेट फिंगरप्रिंट की गणना कैसे की जाती है?
सर्टिफिकेट फिंगरप्रिंट (या थंबप्रिंट) संपूर्ण DER-एन्कोडेड सर्टिफिकेट बाइट्स का क्रिप्टोग्राफिक हैश है। यह सर्टिफिकेट का हिस्सा नहीं है — यह किसी विशिष्ट सर्टिफिकेट को संदर्भित करने के लिए एक कॉम्पैक्ट पहचानकर्ता के रूप में बाहरी रूप से गणना की जाती है। यह टूल ब्राउज़र की Web Crypto API (crypto.subtle.digest()) का उपयोग करके SHA-256 और SHA-1 दोनों फिंगरप्रिंट की गणना करता है। परिणाम कोलन-पृथक हेक्साडेसिमल प्रारूप (जैसे, AB:CD:EF:12:34:...) में प्रदर्शित होता है। सुरक्षा के लिए SHA-256 फिंगरप्रिंट पसंद किए जाते हैं; SHA-1 फिंगरप्रिंट पुरानी प्रणालियों के साथ संगतता के लिए शामिल हैं।
कोड उदाहरण
// Certificate Decoder - JavaScript Implementation
// Uses Web Crypto API for fingerprint computation
/**
* Extract the DER bytes from a PEM string
* @param {string} pem - PEM-encoded certificate
* @returns {ArrayBuffer} DER-encoded certificate bytes
*/
function pemToDer(pem) {
const base64 = pem
.replace(/-----BEGIN CERTIFICATE-----/g, '')
.replace(/-----END CERTIFICATE-----/g, '')
.replace(/\s/g, '');
const binary = atob(base64);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return bytes.buffer;
}
/**
* Parse multiple certificates from a PEM chain
* @param {string} pemText - PEM text (may contain multiple certificates)
* @returns {string[]} Array of individual PEM certificate strings
*/
function extractPemBlocks(pemText) {
const regex = /-----BEGIN CERTIFICATE-----[\s\S]*?-----END CERTIFICATE-----/g;
return pemText.match(regex) || [];
}
/**
* Compute SHA-256 fingerprint of a DER-encoded certificate
* @param {ArrayBuffer} derBytes - DER-encoded certificate
* @returns {Promise<string>} Colon-separated hex fingerprint
*/
async function computeSha256Fingerprint(derBytes) {
const hashBuffer = await crypto.subtle.digest('SHA-256', derBytes);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray
.map(b => b.toString(16).padStart(2, '0').toUpperCase())
.join(':');
}
// Usage with @peculiar/x509:
// import { X509Certificate } from '@peculiar/x509';
// const cert = new X509Certificate(pem);
// console.log('Subject:', cert.subject);
// console.log('Issuer:', cert.issuer);