لقد ثبّتت الشهادة، وهي تظهر في Keychain Access باسم ودّي، ومع ذلك لا تزال قائمة اختيار الهوية في عميل VPN فارغة. العميل لا يبحث عن شهادة. إنه يبحث عن هوية: شهادة مقترنة بالمفتاح الخاص الذي يستطيع إثبات الحيازة، مخزّنة حيث يُسمح للعميل بقراءتها.

ما يطلبه العميل هو هوية

يتعامل إطار الأمان في Apple مع الشهادة والهوية ككائنين مختلفين. الشهادة بيانات عامة. الهوية هي تلك الشهادة مع مفتاحها الخاص، والهوية وحدها هي القادرة على إتمام التحدي. أما شهادة جهة إصدار موثوقة فتتيح للعميل تقييم المُصدر؛ وهي لا تجعل الجهاز حائزًا لبيان اعتماد عميل صادر.

ItemWhat it can doWhat it cannot do
CA or server certificateValidate the gateway's chainAuthenticate this client
Client certificate without keyNothing for authenticationProve possession of anything
Identity (cert plus key)Answer the authentication challengeGuarantee the gateway accepts it

لهذا فإن استيراد ملف .cer لا ينتج أبدًا هوية عميل صالحة للاستخدام. يحمل الملف مادة عامة فقط، ولا يجعل منه أي قدر من إعادة التسمية أو الوثوق زوج مفاتيح.

ثلاثة أسباب لبقاء القائمة فارغة

السبب الأول هو مفتاح خاص مفقود، ما يعني أن عملية التسجيل أو الاستيراد لم تسلّم واحدًا. السبب الثاني هو مخزن لا يستشيره العميل: الملف الشخصي المقيّد بالمستخدم يبحث في سلسلة مفاتيح المستخدم، وقد يكون عنصر موضوع في مخزن النظام غير مرئي له. السبب الثالث هو عدم تطابق الغرض أو السياسة، حيث توجد الشهادة لكنها غير صالحة لمصادقة العميل وفق قواعد النشر.

security find-identity -v -p ssl-client

يسرد هذا الهويات التي يعتبرها النظام صالحة لمصادقة العميل. إذا كان العدد صفرًا، فالمشكلة في اتجاه المنبع من عميل VPN ولن يصلحها أي تعديل في الملف الشخصي. أما إذا ظهرت الهوية هنا ولم تظهر في العميل، فالفرق في مخزن العميل أو نطاقه.

أين يعيش المفتاح الخاص، ومن يجوز له استخدامه

عندما تستورد هوية عبر Keychain Access، يعرض مربع حوار الاستيراد سلسلة مفاتيح وجهة. أي وجهة هي الصحيحة يعتمد على العميل وعلى ما إذا كان الملف الشخصي مقيّدًا بالمستخدم أم بالجهاز. الإجابة القديمة التي توصي بسلسلة مفاتيح النظام ليست قاعدة عامة، ونسخ العناصر بين المخازن ليس إصلاحًا.

System Roots مجموعة ثقة. وضع شهادة هناك يغيّر الجهات التي يثق بها النظام؛ ولا ينشئ مفتاحًا خاصًا، وليس مخزن هويات. نقل شهادات غير ذات صلة لتعبئة قائمة اختيار هو نوع الإصلاح الذي يترك الجهاز بمجموعة ثقة موسّعة بشكل دائم.

الوصول إلى المفتاح الخاص عنصر تحكم منفصل. منح كل تطبيق إذنًا لاستخدام المفتاح يحل مشكلة الاختيار لدى عميل واحد ويمنح القدرة نفسها لكل شيء آخر على الجهاز. امنحه للعميل الذي يحتاجه، وتحقق مما إذا كان المفتاح مدعومًا بالعتاد أو مُعلَّمًا بأنه غير قابل للتصدير؛ فإن كان كذلك، يجب استخدام المزوّد المدعوم بدلًا من نسخة مصدّرة.

كيف يشير الملف الشخصي إلى بيان الاعتماد

في تكوين IKEv2 أصلي مُدار، يشير الملف الشخصي إلى حمولة بيانات الاعتماد عبر PayloadCertificateUUID. ما يهم هو الهوية المُشار إليها وطريقة تزويدها؛ وتحرير اسم عرض في الملف الشخصي لا يصلح إشارة تشير إلى الحمولة الخطأ أو إلى حمولة لم تسلّم مفتاحًا قط.

قد يستخدم مزوّد طرف ثالث آلية اختيار مختلفة تمامًا، مثل مخزنه الخاص أو مطالبة على مستوى النظام. اقرأ وثائق ذلك المزوّد بدلًا من نقل افتراضات الملف الشخصي الأصلي، وتحقّق من الإشارة في الملف الشخصي المثبّت فعليًا لا في المسودة الموجودة في وحدة التحكم الإدارية.

الاختيار والقبول مرحلتان منفصلتان

قائمة اختيار مملوءة تعني أن العميل يستطيع إيجاد هوية واستخدامها. وهي لا تقول شيئًا عن قبول البوابة لها. لا يزال الخادم يفحص المُصدر ونافذة الصلاحية وحالة الإبطال، و تعيين ذلك بيان الاعتماد إلى حساب.

اختبر المرحلتين صراحة، بهذا الترتيب. أكّد أن الهوية معروضة، واتصل، ثم اطلب من مالك البوابة تأكيد أي بيان اعتماد قُدّم وأي قاعدة تعيين استهلكته. إذا عرض العميل هوية ورفضها الخادم، فالعمل المتبقي على جانب الخادم. إعادة تثبيت الشهادة على جهاز Mac لن تغيّر تلك النتيجة، مهما تكررت.

مقالات ذات صلة