سرٹیفکیٹ کے نام کا عدم مطابقت یا مدتِ ختم: دونوں میں فرق کیسے کریں
نام کا عدم مطابقت یعنی سرٹیفکیٹ کسی اور چیز کے لیے ہے؛ مدتِ ختم یعنی یہ اب درست نہیں۔ کوئی بھی اسناد دوبارہ ترتیب دینے سے پہلے ناکام ہونے والا مرحلہ پڑھیں۔
دو VPN ناکامیاں صارف کی کرسی سے ایک جیسی نظر آتی ہیں مگر متضاد اصلاح چاہتی ہیں۔ نام کا عدم مطابقت کا مطلب ہے کہ سرٹیفکیٹ درست ہے مگر کسی اور چیز کے لیے جاری ہوا ہے۔ مدتِ ختم کی غلطی کا مطلب ہے کہ سرٹیفکیٹ اس لمحے درست نہیں۔ دونوں میں سے کوئی پاس ورڈ کا مسئلہ نہیں، اور دونوں صورتوں میں اسناد کو دوبارہ ترتیب دینا سب سے عام ضائع ہونے والا گھنٹہ ہے۔ کچھ چھونے سے پہلے ناکام ہونے والا مرحلہ پڑھیں۔
غلطی کا متن ہی تشخیص ہے
کلائنٹ بتاتا ہے کہ کون سی جانچ ناکام ہوئی، چاہے پیغام مختصر ہو۔ عدم مطابقت متوقع ہوسٹ نام اور ملنے والا نام بتاتی ہے۔ مدتِ ختم کی غلطی درستگی کی تاریخوں یا وقت کا ذکر کرتی ہے۔ وہ دو جملے سرٹیفکیٹ کے مختلف حصوں کی طرف اشارہ کرتے ہیں۔
انہیں اسی مرحلے پر پڑھیں جہاں وہ ظاہر ہوتے ہیں۔ مصافحے کے دوران ناکامی سرٹیفکیٹ کا مسئلہ ہے؛ سرنگ بلند ہونے کے بعد ناکامی روٹنگ یا اسناد کا مسئلہ ہے۔ مرحلہ برقرار رکھنا ہی تحقیق کو غیر متعلقہ ترتیبات کی طرف بھٹکنے سے روکتا ہے۔
اگر ناکامی کوششوں کے درمیان بدلتی ہے تو تیسری امکان ہے: ایک ہی نام کے پیچھے ایک سے زیادہ نوڈ۔
نام کی جانچیں: کلائنٹ کیا موازنہ کرتا ہے
کلائنٹ اُس شناخت کا، جس کی توقع کے لیے وہ ترتیب دیا گیا ہے، سرٹیفکیٹ کے ناموں سے موازنہ کرتا ہے، جو subjectAltName توسیع میں ہوتے ہیں۔ پروفائل میں خام IP، ایسا عرف جسے سرٹیفکیٹ فہرست میں نہیں رکھتا، یا ایسا نام جو صرف اسی سرور پر حل ہوتا ہے — یہ سب اس جانچ میں ناکام ہوتے ہیں۔ درست مشین تک پہنچنا درست شناخت پیش کرنے کے مترادف نہیں۔
پچھلی کوشش کی فائل کے بجائے وہ سرٹیفکیٹ دیکھیں جو سرور واقعی پیش کرتا ہے۔ نیچے دیا گیا حکم وہی نام مانگتا ہے جو آپ نے ترتیب دیا، اس لیے جواب میں وہ سرٹیفکیٹ شامل ہے جو حقیقی کلائنٹ دیکھے گا۔
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null \
| openssl x509 -noout -subject -dates -ext subjectAltNameقابلِ اعتماد جاری کنندہ کا سرٹیفکیٹ پھر بھی کسی اور خدمت کے لیے ہو سکتا ہے۔ کلائنٹ کی نام کی جانچیں فعال رکھیں، کیونکہ CA پر اعتماد اس CA کے کسی بھی وقت دستخط کردہ ہر نام کو اختیار نہیں دیتا۔ جانچ بند کرنا ترتیبی غلطی کو انکشاف میں بدل دیتا ہے۔
مدتِ ختم: کس کی گھڑی پڑھی جا رہی ہے
درستگی دو وقت کے مہروں کا جوڑا ہے، اور تصدیق کنندہ انہیں اپنی گھڑی سے موازنہ کرتا ہے۔ غلط گھڑی والا آلہ درست سرٹیفکیٹ کو ختم شدہ یا ابھی نادرست بتاتا ہے، اور اصلاح گھڑی کی ہے، سرٹیفکیٹ کی نہیں۔ ٹائم زون کے اظہار کا فرق بنیادی وقت کے غلط ہونے کے مترادف نہیں۔
کوئی بھی نتیجہ اخذ کرنے سے پہلے کلائنٹ پر سرٹیفکیٹ کی تاریخوں کا UTC سے موازنہ کریں:
openssl x509 -in cert.pem -noout -dates
date -uاگر تاریخیں واقعی گزر چکی ہیں تو جاری کنندہ کے ذریعے تجدید کریں۔ اگر متبادل موجود ہے مگر ابھی درست نہیں ہوا تو گھڑی آگے بڑھانے کے بجائے معاون منتقلی کی پیروی کریں تاکہ اسے مطابق بنایا جا سکے۔ سرٹیفکیٹ کو مطمئن کرنے کے لیے آلے کی تاریخ پیچھے کرنا ایسا فیصلہ ہے جس کے نتائج سرنگ سے بہت آگے تک جاتے ہیں۔
ایک کی مرمت دوسرے کو کیوں بے نقاب کرتی ہے
تصدیق جانچوں کا سلسلہ چلاتی ہے، اور پہلی ناکامی رپورٹ روک دیتی ہے۔ نام درست کریں اور پھر کلائنٹ آپ کو بتا سکتا ہے کہ زنجیر نامکمل ہے یا سرٹیفکیٹ کی مدت ختم ہو گئی۔ اس کا مطلب یہ نہیں کہ پہلی جانچ غیر ضروری تھی۔ اس کا مطلب یہ ہے کہ زنجیر میں ایک سے زیادہ مسئلہ تھا، اس لیے دوسری غلطی کی توقع رکھیں، اسے پہلی اصلاح کے غلط ہونے کا ثبوت بنا کر نہ پڑھیں۔
کئی نوڈ اسے مزید خراب کرتے ہیں۔ لوڈ متوازن خدمت مختلف ارکان سے مختلف سرٹیفکیٹ پیش کر سکتی ہے، اس لیے جو امتحان دو بار کامیاب اور ایک بار ناکام ہو وہ آپ کو بیڑے کے بارے میں بتاتا ہے، آپ کے کلائنٹ کے بارے میں نہیں۔ تشخیص میں ساتھی کا پتہ اور کوشش کا وقت رکھیں۔
یہی تفصیل غیر مستحکم ٹکٹ کو دوبارہ پیدا ہونے والا ٹکٹ بناتی ہے۔
اسے نئے کنکشن سے ثابت کریں
مرمت کے بعد پرانے کو دوبارہ شروع کرنے کے بجائے نیا کنکشن کھولیں، اور تصدیق کریں کہ جو مرحلہ پہلے ناکام ہوتا تھا وہ اب کامیاب ہوتا ہے۔ پھر تصدیق کریں کہ سرنگ واقعی ٹریفک لے جاتی ہے، کیونکہ کامیاب مصافحہ کوئی کام کرنے والا راستہ نہیں۔
درست غلطی کا مرحلہ اور سرٹیفکیٹ کی تفصیلات ٹکٹ کے ساتھ رکھیں۔
یہی ریکارڈ اگلے شخص کو سرٹیفکیٹ کے مسئلے پر اکاؤنٹ کے پاس ورڈ دوبارہ ترتیب دینے سے روکتا ہے۔ شناخت اور درستگی الگ الگ سوالات ہیں، اور دوسرے کی تشخیص کیسے ہوتی ہے اس کے لیے RFC 5280 حوالہ ہے۔