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

ابدأ بقراءة الحاوية بدلًا من إفراغها.

ما الذي يحمله ملف PKCS12 فعليًا

تحتوي حاوية PKCS12 على شهادة واحدة أو أكثر، وربما مفتاح خاص، وmessage authentication code على المحتويات. قد تتضمن الشهادات شهادة الورقة الخاصة بهوية العميل والشهادات الوسيطة التي تربطها بجهة CA. المفتاح، عند وجوده، هو ما يجعل الملف سرًّا لا مستندًا.

هذا التمييز هو سبب وجود -nokeys وسبب كونه العلم الذي تحتاجه هذه المهمة.

اقرأ الحزمة دون كتابة المفتاح

صيغة الفحص تطبع البنية وتفاصيل الخوارزميات ولا تكتب شيئًا: openssl pkcs12 -in client.p12 -info -noout. تطلب كلمة مرور الاستيراد، وهذا هو المكان الصحيح لتلك القيمة، وتخبرك ما إذا كان الملف يحمل مفتاحًا أصلًا. استخدم -passin env:PKCS12_PASS عندما يتعذر كتابة كلمة المرور، لأن كلمة المرور داخل أمر shell هي كلمة مرور في قائمة العمليات. هذه الخطوة لا تصدّر شيئًا، وهذا هو بيت القصيد.

اقرأ المخرجات لثلاثة أشياء: كم عدد الشهادات، وهل يوجد مفتاح، وأي الخوارزميات تحميه.

استخدم -nokeys ولا تخلطه مع -nocerts

يستبعد -nokeys المفاتيح الخاصة ويترك الشهادات. يضيّق -clcerts ذلك إلى شهادات العميل، ويضيّق -cacerts إلى شهادات CA، وهذان مرشّحان لا بديلان. يُقرأ -nocerts كالكتابة الآمنة للفكرة نفسها ويعني العكس: لا شهادات، وهو ما يترك المفاتيح فقط. خلطه في تصدير الشهادات هو الطريق الذي ينتهي به المفتاح الخاص على القرص.

الصيغة المكوّنة من سطرين التي تنتج ملف شهادات وملف CA، ولا شيء غير ذلك، هي:

openssl pkcs12 -in client.p12 -nokeys -clcerts -out client-certificates.pem
openssl pkcs12 -in client.p12 -nokeys -cacerts -out ca-certificates.pem

تحتاج الحزم القديمة إلى -legacy على OpenSSL 3 لقراءة تشفيرها الأقدم، وهذا العلم يغيّر ما يقبله المحلل لا ما يصدره. إذا فشل التحليل بخطأ حول خوارزمية غير مدعومة، فإن إضافة -legacy هي الخطوة الأولى الصحيحة وتخطي فحص MAC ليس كذلك.

افحص المخرجات، لا رمز الخروج

حالة الخروج صفر تقول إن الأمر عمل، لا إن الملف يحتوي ما تتوقعه. عُدّ الشهادات في المخرجات واقرأ subject والتواريخ: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. قارن البصمة بما يتوقعه فريق الدعم، لأن الحزمة التي تحمل شهادتي عميل تنتج ملفًا بكتلتين ومعظم الأدوات تقرأ الأولى فقط. الغرض والثقة وتطابق المفتاح اختبارات منفصلة مرة أخرى.

الشهادة التي تُحلَّل هي شهادة تُحلَّل. لكنها ليست شهادة يقبلها VPN.

قرر ما إذا كنت تحتاج ملفات أصلًا

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

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

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