سرٹیفکیٹ ڈی کوڈر

PEM فارمیٹ میں X.509 SSL/TLS سرٹیفکیٹ ڈی کوڈ کریں۔ زیادہ سے زیادہ سیکیورٹی اور پرائیویسی کے لیے تمام پروسیسنگ آپ کے براؤزر میں ہوتی ہے۔

PEM فارمیٹ سپورٹ تفصیلی تجزیہ 100% کلائنٹ سائیڈ

سرٹیفکیٹ ڈی کوڈر استعمال کرنے کا طریقہ

1

سرٹیفکیٹ پیسٹ کریں

BEGIN/END ہیڈر سمیت اپنا PEM-انکوڈڈ سرٹیفکیٹ کاپی کر کے ان پٹ فیلڈ میں پیسٹ کریں

2

خودکار ڈی کوڈ

ٹول ASN.1/DER ساخت کو خود بخود پارس کر کے سرٹیفکیٹ کے تمام فیلڈز نکالتا ہے

3

تفصیل دیکھیں

subject، issuer، validity کی تاریخیں، SAN، پبلک کی کی معلومات اور SHA-256 فنگرپرنٹ دیکھیں

X.509 کیا ہے؟

X.509 پبلک کی سرٹیفکیٹ کا فارمیٹ بیان کرنے والا ITU-T معیار ہے۔ ایک X.509 سرٹیفکیٹ ایک شناخت (subject) کو پبلک کی سے جوڑتا ہے اور اسے ایک Certificate Authority (CA) سائن کرتی ہے۔ HTTPS ویب سائٹوں پر استعمال ہونے والے SSL/TLS سرٹیفکیٹ X.509 کا سب سے عام اطلاق ہیں۔

SSL/TLS سرٹیفکیٹ

X.509 سرٹیفکیٹ HTTPS کی بنیاد ہیں — سرور کی شناخت کی تصدیق کر کے خفیہ شدہ مواصلات ممکن بناتے ہیں

پبلک کی انفراسٹرکچر

X.509 وہ فارمیٹ بیان کرتا ہے جو PKI میں شناختوں کو کرپٹوگرافک چابیوں سے جوڑنے والے پبلک کی سرٹیفکیٹ میں استعمال ہوتا ہے

ASN.1/DER انکوڈنگ

سرٹیفکیٹ اپنی بائنری ساخت میں ASN.1 Distinguished Encoding Rules (DER) استعمال کرتے ہیں، اور متن کی نقل و حمل کے لیے PEM Base64 میں لپٹے ہوتے ہیں

PEM بمقابلہ DER بمقابلہ CRT بمقابلہ PFX — سرٹیفکیٹ فارمیٹ

ایک ہی X.509 سرٹیفکیٹ کئی فائل فارمیٹ میں رکھا جا سکتا ہے۔ آپ کے پاس کون سا ہے یہ جاننا وقت بچاتا ہے — انہیں الگ کرنے کا طریقہ:

فارمیٹ ایکسٹینشنز انکوڈنگ عام استعمال
PEM .pem, .crt, .cer BEGIN/END ہیڈر کے ساتھ Base64 ASCII ویب سرور (Nginx, Apache)، بیشتر Linux ٹول — وہ فارمیٹ جو یہ ٹول ڈی کوڈ کرتا ہے
DER .der, .cer خام بائنری ASN.1 Java keystore، کچھ Windows اور ایمبیڈڈ ٹول
P7B / PKCS#7 .p7b, .p7c Base64 ASCII، صرف سرٹیفکیٹ (پرائیویٹ کی نہیں) Windows سرٹیفکیٹ چین امپورٹ، IIS
PFX / PKCS#12 .pfx, .p12 بائنری، پاس ورڈ سے محفوظ، پرائیویٹ کی شامل ہو سکتی ہے Windows امپورٹ/ایکسپورٹ، IIS، کوڈ سائننگ بنڈل

فوری جانچ: اگر فائل ٹیکسٹ ایڈیٹر میں کھل کر -----BEGIN CERTIFICATE----- دکھائے تو وہ PEM ہے۔ بائنری بکواس لگے تو DER یا PFX ہے۔

مفید OpenSSL کمانڈز

کمانڈ لائن پسند ہے؟ یہ OpenSSL کمانڈز وہی کرتی ہیں جو یہ ٹول کرتا ہے — سرٹیفکیٹ ڈی کوڈ، تاریخوں کی جانچ اور فنگرپرنٹ:

openssl x509 -in cert.pem -text -noout

سرٹیفکیٹ کے تمام فیلڈز ڈی کوڈ کر کے دکھاتا ہے

openssl x509 -in cert.pem -noout -dates

صرف validity کی تاریخیں دکھاتا ہے (notBefore / notAfter)

openssl x509 -in cert.pem -noout -fingerprint -sha256

SHA-256 فنگرپرنٹ پرنٹ کرتا ہے

openssl x509 -in cert.der -inform DER -text -noout

بائنری DER سرٹیفکیٹ ڈی کوڈ کرتا ہے

openssl x509 -in cert.pem -noout -subject -issuer

صرف subject اور issuer دکھاتا ہے

openssl s_client -connect example.com:443 -showcerts

لائیو سرور سے سرٹیفکیٹ چین لاتا ہے

سرٹیفکیٹ فیلڈز کا حوالہ

ہر ڈی کوڈ شدہ فیلڈ کا مطلب اور اہمیت:

Subject

وہ شناخت جس کے لیے سرٹیفکیٹ جاری ہوا۔ عام اجزاء: CN (common name)، O (organization)، C (country)۔

Issuer

وہ Certificate Authority جس نے یہ سرٹیفکیٹ سائن کیا۔ subject اور issuer ایک ہی ہوں تو سرٹیفکیٹ self-signed ہے۔

سیریل نمبر

جاری کرنے والی CA کا دیا ہوا منفرد نمبر۔ منسوخی (revocation) کی حالت جانچنے میں (CRL / OCSP) استعمال ہوتا ہے۔

Validity (Not Before / Not After)

وہ وقت کی حد جس میں سرٹیفکیٹ درست ہے۔ اس حد سے باہر براؤزر اور کلائنٹ اسے مسترد کر دیتے ہیں۔

پبلک کی اور کی کا سائز

شناخت سے جڑی پبلک کی۔ 2048 بٹ RSA یا 256 بٹ EC موجودہ معیار ہیں؛ 1024 بٹ RSA فارغ ہو چکا ہے۔

Subject Alternative Names (SANs)

وہ ہوسٹ نیمز اور IP جو سرٹیفکیٹ ڈھانپتا ہے، ان کی فہرست۔ 2015 سے براؤزر CN نہیں بلکہ SAN سے ملانے کرتے ہیں — example.com کے سرٹیفکیٹ میں www.example.com کو صاف طور پر درج ہونا چاہیے ورنہ تصدیق ناکام ہو گی۔

سگنیچر الگورتھم

CA نے سرٹیفکیٹ کیسے سائن کیا۔ SHA-256 یا اس سے اوپر ضروری ہے؛ SHA-1 سگنیچر جدید براؤزر مسترد کرتے ہیں۔

فنگرپرنٹ (SHA-256)

پورے DER-انکوڈڈ سرٹیفکیٹ کا ہیش۔ پننگ اور سسٹمز کے درمیان سرٹیفکیٹ موازنے میں استعمال ہوتا ہے۔

عام سوالات

کون سے سرٹیفکیٹ فارمیٹ سپورٹ ہیں؟

ٹول PEM-انکوڈڈ سرٹیفکیٹ سپورٹ کرتا ہے (-----BEGIN CERTIFICATE-----)۔ DER اور P7B فارمیٹ اس وقت سپورٹ نہیں۔

کیا سرٹیفکیٹ چین کی تصدیق کرتا ہے؟

ٹول سرٹیفکیٹ کی تفصیل ڈی کوڈ کر کے دکھاتا ہے، مگر root CA کے مقابل trust چین کی تصدیق نہیں کرتا۔

کیا certificate signing request (CSR) ڈی کوڈ ہو سکتی ہے؟

فی الحال صرف X.509 سرٹیفکیٹ سپورٹ ہیں۔ CSR ڈی کوڈنگ مستقبل کے اپڈیٹ میں شامل ہو سکتی ہے۔

PEM، DER، CRT اور PFX میں کیا فرق ہے؟

PEM ہے BEGIN/END ہیڈر والا Base64-انکوڈڈ متن (ایکسٹینشنز .pem, .crt, .cer)۔ DER اسی ڈیٹا کی خام بائنری ASN.1 شکل ہے۔ CRT اور CER محض ایکسٹینشن نام ہیں، ان میں PEM یا DER دونوں ہو سکتے ہیں۔ PFX/PKCS#12 پاس ورڈ سے محفوظ بائنری بنڈل ہے جس میں پرائیویٹ کی ہو سکتی ہے، بنیادی طور پر Windows پر استعمال ہوتا ہے۔

سرٹیفکیٹ ٹھیک ڈی کوڈ ہونے کے باوجود براؤزر غلط کیوں کہتا ہے؟

ڈی کوڈ کرنا اور تصدیق کرنا الگ باتیں ہیں۔ سرٹیفکیٹ بے عیب پارس ہو سکتا ہے، پھر بھی میعاد ختم ہونے، ہوسٹ نیم SAN فہرست میں نہ ہونے، چین کے کسی قابلِ اعتماد root CA تک نہ پہنچنے، یا منسوخ ہونے کی وجہ سے تصدیق ناکام ہو جاتی ہے۔ یہ ٹول ڈی کوڈ شدہ فیلڈز دکھاتا ہے — پہلے validity کی تاریخیں اور SAN دیکھیں۔

کیا اپنا SSL سرٹیفکیٹ اس ٹول میں پیسٹ کرنا محفوظ ہے؟

جی ہاں۔ SSL سرٹیفکیٹ عوامی معلومات ہے — آپ کی سائٹ کا ہر زائر اسے وصول کرتا ہے۔ اس میں کوئی خفیہ ڈیٹا نہیں۔ البتہ اپنی پرائیویٹ کی کہیں بھی پیسٹ نہ کریں: اس ٹول کو اس کی ضرورت نہیں اور وہ اسے استعمال بھی نہیں کر سکتا۔

سرٹیفکیٹ چین میں کیا ہونا چاہیے اور کتنی لمبی ہونی چاہیے؟

پیش کی جانے والی چین میں لیف سرٹیفکیٹ اور وہ intermediate CA شامل ہوتے ہیں جو اسے کسی قابلِ اعتماد root سے جوڑتے ہیں — عام طور پر کل ملا کر 2-3 سرٹیفکیٹ۔ root خود نہیں بھیجنا چاہیے: کلائنٹ کے پاس root پہلے سے اپنے ٹرسٹ اسٹور میں ہوتے ہیں۔ ایک intermediate کا غائب ہونا "میرے براؤزر میں چلتا ہے مگر موبائل پر ناکام" قسم کے TLS نقائص کی واحد سب سے عام وجہ ہے، کیونکہ کچھ کلائنٹ intermediate کو کیش کرتے یا اندازہ لگاتے ہیں اور کچھ نہیں۔

رکاوٹ پیدا ہونے سے پہلے میعاد کی تاریخیں اور SAN کیسے جانچیں؟

سرٹیفکیٹ ڈی کوڈ کر کے validity بلاک پڑھیں: notBefore جاری ہونے کی تاریخ ہے، notAfter میعاد کا اختتام — notAfter سے کم از کم 30 دن پہلے تجدید کی منصوبہ بندی کریں۔ SAN (Subject Alternative Names) فہرست میں وہ تمام ہوسٹ نیمز شامل ہیں جو سرٹیفکیٹ ڈھانپتا ہے؛ اس فہرست سے کوئی نام رہ جانے پر CN ملنے کے باوجود براؤزر میں certificate-name خرابی آتی ہے۔ یہ ٹول دونوں فیلڈز اپنی جگہ ڈی کوڈ کر کے دکھاتا ہے۔

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}