strongSwan: نوع المفتاح والمحمّل والخادم الخلفي الخاطئ
PEM حاوية وليس نوع مفتاح. قارن المفتاح العام في الشهادة بالمفتاح الخاص، ثم حمّله عبر الخادم الخلفي الذي يقرأه فعلاً.
لا تحدد امتدادات الملفات خوارزميات المفاتيح، وقد يحتوي غلاف .pem على مادة RSA أو ECDSA. تصف PEM طريقة تغليف البايتات، بينما تشير RSA وECDSA إلى خوارزميات مختلفة، وملف PKCS12 شيء ثالث. يحمّل strongSwan بيانات الاعتماد عبر الإضافات وخادم خلفي للإعدادات، لذلك قد تظهر شهادة في قائمة بينما لا يصبح المفتاح الخاص قابلاً للاستخدام أبداً. افصل تلك الطبقات قبل تعديل أي سر.
الترميز والخوارزمية والتغليف ثلاث طبقات
لملف المفتاح ترميز وخوارزمية وغالباً حاوية. PEM هو الغلاف المألوف بترميز base64؛ وDER نظيره الثنائي؛ ويجمع PKCS12 شهادة مع مفتاحها وسلسلتها. ملف سلسلة الشهادات حاوية أخرى، وعادة لا يحمل أي مفتاح خاص. ولا يخبرك أي من هذه التسميات إن كانت المادة بداخله RSA أم ECDSA.
اقرأ الخوارزمية من الكائن نفسه. فالاسم التسويقي لمزوّد أو امتداد ملف ليس دليلاً، لأن المصدر نفسه قد يمنح أنواع مفاتيح مختلفة.
قارن المفاتيح العامة قبل لوم المحمّل
الشهادة التي تُحمّل تثبت أن الشهادة قد حُلّلت، لا أن مفتاحها الخاص موجود أو صالح للاستخدام. اشتق المفتاح العام من الشهادة ومن المفتاح الخاص المقترح، ثم قارن البصمتين. إذا فشل أي استخراج فتوقف عند ذلك، لأن بصمة ناتج فارغ لا تثبت شيئاً. تطابق البصمتين يثبت أن الزوجين ينتميان معاً، ولا شيء أكثر عن ملاءمة الشهادة للمهمة.
openssl x509 -in server.crt -pubkey -noout |
openssl pkey -pubin -outform DER |
openssl dgst -sha256
openssl pkey -in server-key.pem -pubout -outform DER |
openssl dgst -sha256
يلمس الأمر الثاني مادة خاصة على جهازك لكنه يُخرج النصف العام فقط. أبقِ الأمر كذلك، ولا تلصق مفتاحاً خاصاً في تذكرة أبداً. إذا كان المفتاح مشفراً، فدع الأداة المدعومة تطلب عبارة المرور بدلاً من وضعها في سطر أوامر يمكن لقائمة العمليات كشفه.
بيانات اعتماد ipsec.secrets القديمة أو swanctl
لدى strongSwan مساران شائعان لبيانات الاعتماد. تقرأ حزمة starter القديمة إدخالات خاصة بالنوع من ipsec.secrets، وعلى كل إدخال أن يذكر النوع الصحيح للمادة. تحمّل حزمة swanctl وvici المفاتيح من مجلد بيانات الاعتماد الخاص بها عبر إعداداتها الخاصة. وتعديل الملف الذي لا يقرأه الخادم الخلفي العامل لا يغيّر شيئاً.
: ECDSA "/etc/ipsec.d/private/server-key.pem"
اعرف أي خادم خلفي يعمل فعلاً، ثم ضع المفتاح حيث ينظر ذلك الخادم. إنّ دليل strongSwan 5.9 القديم يحدد إدخالات الأسرار الخاصة بالنوع، وهو ليس توثيق swanctl. خلط الاثنين ينتج خادماً يتجاهل ملفاً يعتبره المسؤول مرجعاً. وإعادة التحميل التي لا تبلغ عن خطأ تعني فقط أن الإعدادات حُلّلت.
اقرأ حدث التحميل ونتيجة المصادقة
بعد إعادة تحميل مضبوطة، اقرأ مخرجات التحميل الخاصة بالخادم للمفتاح المعني. الشهادة المدرجة في تفريغ الحالة لا تُظهر أن المفتاح الخاص قد طوبق معها.
إذا ظل العميل يفشل، فافصل حدث الخادم عن خطأ العميل. التحقق من السلسلة ومطابقة الهوية و توافق الطريقة أسئلة لاحقة لها أدلتها الخاصة. دوّن النتيجة مع مسار المفتاح الدقيق والبصمة التي قارنتها، وإلا فسيكرر المناوب التالي إعادة التحميل نفسها. واستبدال CA ليس أول رد على عدم توافق المحمّل.