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

شهادات عدة، وشهادة واحدة تُعرض

ملفات تعريف VPN الأصلية في Windows التي تعتمد مصادقة شهادة الجهاز تتيح عامِلَي تصفية يقيّدان المرشحين: عامل تصفية جهة الإصدار وعامل تصفية استخدام المفتاح الموسّع. إنهما يقلّصان المجموعة التي يجوز للعميل الاختيار منها. وهما لا يصلحان شهادة غير مناسبة، ولا يضمنان أن الخادم يقبل ما يبقى منها. وهذه الحدود تستحق الذكر في سجل التغيير، لأن القارئ التالي سيفترض أن عامل التصفية قرّر أكثر مما قرّرته فعلًا.

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

افحص المخزن قبل تعديل ملف التعريف

اسرد المرشحين وخصائصهم في المخزن الذي يستخدمه ملف التعريف فعليًا. لا شيء هنا يصدّر مفتاحًا خاصًا، ولا حاجة لأن تخرج أي شهادة من الجهاز:

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

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

أكّد ملف التعريف ونطاقه قبل التعديل، لأن شهادة جهاز في LocalMachine، وشهادة EAP-TLS لمستخدم، ومخزن مفاتيح خاص بتطبيق هي ثلاثة سياقات مختلفة. استخدم نطاق كل المستخدمين وسياقًا إداريًا عندما يكون ملف التعريف المُدار موجودًا هناك. وإنشاء ملف تعريف ثانٍ باسم مشابه يخفي التكوين الذي يستخدمه الاتصال فعليًا.

عامل تصفية جهة الإصدار يريد كائنًا

معامل جهة الإصدار يتوقع كائن شهادة، لا اسمًا معروضًا ولا سلسلة بصمة مجردة. قدّم شهادة الجهة المعتمدة من مسار راجعته، في المخزن الذي تنتمي إليه:

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

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

عامل تصفية الاستخدام يريد سلسلة OID

معامل استخدام المفتاح الموسّع يقبل سلاسل OID، وغرض مصادقة العميل هو 1.3.6.1.5.5.7.3.2. وتطبيقه يقيّد المرشحين بالشهادات التي تحمل ذلك الغرض، وهذا ما يريده أي نشر يعتمد مصادقة العميل:

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

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

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

أثبت أي شهادة عرضها العميل

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

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

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