آپ کا گیٹ وے ایسا کلائنٹ سرٹیفکیٹ قبول کرتا ہے جو اس نے کبھی نہیں دیکھا، کیونکہ جس چیز سے یہ ترتیب دیا گیا ہے وہ ایک قابلِ اعتماد جاری کنندہ ہے، اور سرٹیفکیٹ ہینڈ شیک کے دوران آتا ہے۔ پروٹوکول کو اسی طرح کام کرنا چاہیے، اور اسی وجہ سے سرور پر ڈائریکٹری فہرست ناقص فہرست ہے۔ جاری کنندہ جانتا ہے اس نے کیا بنایا، سرور جانتا ہے کیا جڑا، اور منسوخی کی حالت جانتی ہے کیا واپس لیا گیا۔ ان تینوں ریکارڈوں کو ملانے والی فہرست آخرکار ایسی بات کا دعویٰ کرتی ہے جو ان میں سے کسی نے نہیں کہی۔

گیٹ وے فائل فہرست پر نہیں، جاری کنندہ پر بھروسہ کرتا ہے

تصدیق پیش کردہ سرٹیفکیٹ کا اعتماد کے لنگر سے موازنہ کرتی ہے، اس لیے اسی جاری کنندہ کی کل بنائی گئی شناخت سرور کی ڈسک پر کبھی موجود نہ ہونے کے باوجود جڑ جاتی ہے۔ اس کے لیے کچھ نقل کرنے کی ضرورت نہیں، اور کسی کو اسے ہاتھ سے منظور کرنے کی ضرورت نہیں۔ اس لیے سرور کے اپنے ریکارڈ آمد کو بیان کرتے ہیں، آنے والی شناختوں کی آبادی کو نہیں۔

دوسری طرف کا خلا بھی اتنا ہی ناخوشگوار ہے۔ فولڈر میں میعاد ختم شدہ سرٹیفکیٹ، منسوخ شدہ سرٹیفکیٹ، اور ایسے آلات کے لیے جاری کردہ شناختیں ہو سکتی ہیں جو کبھی تعینات نہیں ہوئے۔ فائلیں گننا بتاتا ہے کہ کتنی فائلیں ہیں، جو ایسا سوال ہے جو کسی نے نہیں پوچھا۔ اس کے بجائے معنی رکھنے والے ریکارڈوں سے شروع کریں۔

چار سوالات، چار الگ ریکارڈ

ہر ریکارڈ قسم ایک سوال کا اچھا جواب دیتی ہے اور باقیوں کا برا، اسی لیے انہیں یکجا کرنے والی رپورٹ مکمل دکھتی ہے جبکہ مخصوص انداز میں غلط ہے۔ نیچے دیا گیا جدول انہیں پیدا کرنے والے نظام کے مطابق نہیں، بلکہ حل ہونے والے سوال کے مطابق ترتیب دیتا ہے۔

Question you are answeringWhere the answer livesHow quickly it changesWhat it will never show
Was this identity ever created?The issuer's issuance databaseOnly when something is issuedWhether the device still exists
Is a copy sitting on this host?The paths you actually inspectedWhenever anyone copies filesCertificates that were never copied here
Has the issuer withdrawn it?Published revocation stateWhen the issuer next publishesWithdrawals that are not published yet
Is it connected right now?The live session tableContinuouslyAnything about past or future sessions

عوامی سرٹیفکیٹوں کا ذخیرہ کوئی راز نہیں، کیونکہ اس میں کوئی نجی کلید نہیں ہوتی، لیکن یہ شیئر کرنے کے قابل بھی نہیں۔ موضوعات اور آلات کے نام عملی تفصیلات ظاہر کرتے ہیں، اور رپورٹ اسی سامعین کے پاس رہنی چاہیے جسے اس کی ضرورت ہے۔ نجی کلیدیں فہرست سے مکمل طور پر باہر رہتی ہیں، کیونکہ فہرست کو سندیں نہیں، میٹا ڈیٹا چاہیے۔

جاری کنندہ اور سیریل نمبر ہی واحد مستحکم کلید ہیں

موضوعات دوبارہ استعمال ہوتے ہیں اور فائلوں کے نام پھر استعمال ہوتے ہیں، اس لیے گزشتہ سال ایک آلے کی شناخت کرنے والا نام اب کسی اور کی شناخت کر سکتا ہے۔ کوئی بھی کلید نہیں، اور ان میں سے کسی پر بنی رپورٹ آخرکار دو شناختوں کو ایک سطر میں یکجا کر دے گی۔

جاری کنندہ اور سیریل نمبر کا جوڑا سرٹیفکیٹ کی منفرد شناخت کرتا ہے، اور دونوں میدان خود سرٹیفکیٹ سے آتے ہیں۔ انہیں موضوع، مدتِ اعتبار کی تاریخیں، وہ ماخذ جہاں سے نقل آئی، اور ذمہ دار شخص یا آلے کے ساتھ درج کریں۔ منسوخی اور تعیناتی کی حالت کو اپنے مشاہدے کے اوقات کے ساتھ الگ میدان کے طور پر شامل کریں، کیونکہ مدتِ اعتبار کی کھڑکی میں موجود سرٹیفکیٹ خودبخود مجاز نہیں ہوتا۔ یہ دو حقائق الگ نظاموں میں رہتے ہیں، اور انہیں ملانے سے وہ صورت چھپ جاتی ہے جہاں شناخت واپس لی گئی جبکہ اس کی فائل اب بھی تازہ دکھتی ہے۔

ایک وقت میں ایک سرٹیفکیٹ پڑھیں

فولڈر بھر میں پھیلنے والا وائلڈ کارڈ بیچ انٹرفیس نہیں، اور یہ چھپاتا ہے کہ کون سی فائل نے کون سا آؤٹ پٹ دیا۔ ہر سرٹیفکیٹ کے لیے میٹا ڈیٹا پڑھیں، اور منسوخی کا رخ اس کے اپنے آرٹیفیکٹ سے پڑھیں۔ OpenSSL x509 حوالہ ان میدانوں کی فہرست دیتا ہے جو وہ اختیارات چھاپتے ہیں۔

openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40

منظم Easy-RSA PKI کے لیے، اجرا کے ڈیٹا بیس سے اس ورک فلو کے ذریعے پوچھیں جس کی ٹول حمایت کرتا ہے فولڈر ترتیب فرض کرنے کے بجائے، اور فہرست بنتے وقت اصل فائلوں کو صرف پڑھنے کے لیے رکھیں۔ رجسٹر کی ساخت اتنی باقاعدہ ہے کہ ڈیٹا بیس کو ہاتھ سے کھولے بغیر درست اندراجات گنے جا سکیں اور واپس لیے گئے افراد کی فہرست بنائی جا سکے۔

grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5

اگلی اجرا سے بھی بچ جانے والی فہرست

فولڈر کا ایک بار کا ڈمپ اگلے سرٹیفکیٹ کے جاری ہونے کے لمحے پرانا ہو جاتا ہے، اس لیے رپورٹ اجرا کے ورک فلو سے بنائیں اور اسے معمول کے کام کے حصے کے طور پر اپ ڈیٹ ہونے دیں۔ یہ رپورٹ کو دوبارہ پیدا کرنے کے قابل بھی بناتا ہے، جو اس وقت اہم ہے جب دو افراد اس بات پر متفق نہ ہوں کہ کیا جاری ہوا۔

نتیجے کو تجدید اور ریٹائرمنٹ کے فیصلوں کے لیے استعمال کریں، اسپریڈ شیٹ مشق کے طور پر نہیں۔ مقامی نقل مٹانے سے پہلے سے موجود دور کی نقلیں باطل نہیں ہوتیں۔ شناخت کو ترتیب شدہ منسوخی اور اجازت کے ورک فلو سے واپس لیں، پھر واپسی کو اس کی تاریخ کے ساتھ درج کریں۔ وہ شناخت جو سرور سے غائب ہو گئی مگر جاری کنندہ اب بھی اس پر بھروسہ کرتا ہے ریٹائر نہیں ہوئی، اور یہی فرق درست فہرست کو محض تسلی دینے والی فہرست سے الگ کرتا ہے۔

متعلقہ مضامین