Easy-RSA يقول إن PKI مفقود؟ إنه ينظر في مكان آخر
غياب مفتاح CA أو ملف index.txt يعني عادةً أن Easy-RSA 3 اختار مجلدًا آخر. افحص محدِّد PKI والأسبقية وبصمة المُصدر أولًا.
يتوقف الأمر بسبب ca.crt مفقود أو index.txt مفقود، مع أن الـ CA يصدر الشهادات منذ أشهر. لم يتغير شيء في الجهة المُصدرة؛ فقد نظر الأمر ببساطة في مكان آخر. يحدد Easy-RSA 3 مجلد PKI من خيار أو متغير بيئة أو ملف vars أو قيمة افتراضية مدمجة، وأيٌّ من هذه قد يشير بعيدًا عن جهة الإصدار الخاصة بالنشر. تحقق من أيها فاز قبل أن تنشئ أي شيء.
الخطأ يذكر ملفًا لا مجلدًا
مجلد التثبيت ومجلد المُصدر مكانان مختلفان. إن وجدت easyrsa على الجهاز فهذا يثبت فقط أن الأداة مثبتة، لا أنها وجدت الجهة المُصدرة التي يثق بها VPN لديك.
لهذا يبدو إعادة تثبيت الحزمة أو إعادة تشغيل خطوة init مفيدًا، ولا يغير شيئًا.
افحص المحدِّد قبل أي شيء آخر
في Easy-RSA 3 يكون المحدِّد هو EASYRSA_PKI أو الخيار المطابق --pki-dir. مرِّر مسارًا مطلقًا مثل --pki-dir=/srv/pki/office فتتوقف الإجابة عن الاعتماد على المكان الذي صادف أنك كنت فيه. هذه العادة وحدها تزيل فئة كاملة من هذا الخطأ، خصوصًا للسكربتات التي تعمل من cron أو من نسخة CI.
أكِّد الجيل أولًا ، لأن عادة Easy-RSA 2 المتمثلة في ملف vars بالإضافة إلى build-key نموذج مختلف عن النموذج الذي يتوقعه Easy-RSA 3. easyrsa --version يطبع الجيل قبل أن يفعل أي شيء آخر، و ./easyrsa --help يسرد الأوامر الفرعية: هدف build-key يعني 2.x، بينما build-client-full يعني 3.x. ونقل مسار KEY_DIR قديم إلى استدعاء 3.x لأن اسم المجلد يبدو مألوفًا ينتج هذا الخطأ بالضبط.
إذا تعارض نص الإصدار مع صيغة الأمر، فتوقف واقرأ توثيق الإصدار المثبت نفسه.
الأسبقية تفسر ملف vars خسر
الأسبقية الموثقة هي خيار سطر الأوامر، ثم البيئة، ثم ملف vars، ثم القيمة الافتراضية المدمجة. لذا تخسر قيمة صحيحة في vars أمام متغير بيئة موروث، وهذه هي النسخة الصامتة من هذا العطل. افحص المتغيرات المقصودة واختيار الملف بدلًا من إفراغ البيئة كلها في تذكرة. الفرق بين الاثنين عادةً سر.
امشِ في السلسلة بالترتيب ولاحظ أي مصدر قدَّم المسار الذي استخدمه الأمر. وبعد أن تعرف ذلك، يكون الإصلاح راية أو تصديرًا لا جهة إصدار شهادات جديدة.
إن مرجع إعداد Easy-RSA يعرّف المحدِّد والأسبقية، وهو الاستشهاد الذي يوضع في التذكرة.
أكِّد المُصدر بمواد عامة
مع المُصدر المعتاد القائم على الملفات، اقرأ ca.crt وطابق بصمته مع سجل المُصدر الذي وافقت عليه. تطابق اسم الموضوع ليس دليل هوية، ولا مجلد اسمه production كذلك. البصمة وحدها تربط الملف الذي وجدته بالجهة المُصدرة التي طُلب من أقرانك الوثوق بها.
يكفي فحص للقراءة فقط: openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.
ثم حدِّد دور المجلد. مجلد الطلبات الذي يستخدمه العميل ليس قاعدة بيانات مُصدر، ومفتاح توقيع يُحفظ دون اتصال لا محل له على كل مضيف VPN. وغياب ca.key خاصية تصميم في ذلك التخطيط، لا إذن باختراع جهة إصدار بديلة.
إذا كانت الحالة قد ذهبت فعلًا
أحيانًا يكون المسار صحيحًا والحالة غير موجودة فعلًا. ملف index.txt فارغ وعداد تسلسلي أُعيد تشغيله يمنحانك PKI تبدو سليمة ولا تستطيع إثبات أي شيء عن الشهادات التي لم ترها قط: لن تلغي التجديدات الشهادات القديمة، وستتصادم الأرقام الجديدة مع التاريخ. استعد من النسخة الاحتياطية المعتمدة للـ CA بدلًا من ذلك، لأن تهيئة PKI فارغة في مكان آخر تنقل الخطأ فقط وتترك جهة إصدار ثانية غير ذات صلة.
بعد أن يتفق المسار والمُصدر، تعامل مع العطل التالي بموضوعية. Permission denied، ومفتاح توقيع يحتاج عبارة مروره، وسجل إصدار مفقود ثلاثة أعطال مختلفة، وواحد فقط منها يتعلق بالمجلد الذي أصلحته للتو.
لا تجرِّد تشفير المفتاح أو توسِّع أذونات المجلد أبدًا لتغطية خطأ في المسار. الخطأ رخيص الإصلاح؛ أما الترميم فليس كذلك.