كيفية استيراد شهادة VPN على Android والتحقق من المفتاح
استورد ملف P12 إلى Android، وتأكد من أي جهة تحتفظ بالمفتاح، وحدد من يملك متطلب قفل الشاشة فعلًا.
يستغرق استيراد شهادة عميل VPN على Android بضع دقائق۔ والتحقق من أنها وصلت إلى المكان الصحيح يستغرق وقتًا أطول، وهذه هي الخطوة التي يتخطاها معظم الناس بمجرد أن تقول نافذة التثبيت إن العملية نجحت۔ رسالة النجاح تعني فقط أن الملف تم تحليله۔ وهي لا تقول شيئًا عن الجهة التي تحتفظ بالمفتاح الخاص ولا عما إذا كانت هناك نسخة لا تزال في مجلد Downloads لديك۔
الخطوة 1: اقرأ ملف P12 قبل أن يغادر جهازك
ابدأ بالملف نفسه۔ إذا لم تستطع تسمية الموضوع والمُصدر وتاريخ الانتهاء بداخله، فأنت تستورد شيئًا لن تتمكن من التحقق منه لاحقًا۔
حزمة PKCS#12 تحمل عادةً شهادة عميل ومفتاحها الخاص وسلسلة المُصدر۔ يطبع openssl pkcs12 -in client.p12 -info -noout بصمة MAC وخوارزميات التشفير دون إخراج مادة المفتاح، لترى ما إذا كانت الحزمة محمية بكلمة مرور وبأي تشفير۔ أتبعه بـ keytool -list -v -keystore client.p12 -storetype PKCS12 للحصول على الاسم المستعار وبصمة SHA-256 ونافذة الصلاحية التي ستقارنها بالهاتف۔
أرسل كلمة المرور عبر قناة مختلفة عن الملف، أو سلّم الملف داخل مسار توزيع مُدار لا يترك نسخة خلفه۔ فكلمة المرور التي تُلصق في نفس رسالة الدردشة مع الأرشيف تحوّل ضابطين إلى ضابط واحد۔
الخطوة 2: ثبّته في الخانة التي يقرأها تطبيق VPN فعليًا
على Android 11 حتى 14 القياسي يمر المسار عبر الإعدادات، الأمان، التشفير وبيانات الاعتماد، تثبيت شهادة، ثم VPN وشهادة مستخدم التطبيق۔ تتحرك الصياغة والتداخل بين الإصدارات وأغلفة الشركات المصنعة، فاتبع وسم نوع بيانات الاعتماد بدلًا من موضع قائمة محفوظ۔ في ملف تعريف العمل، ثبّت من داخل الجانب الخاص بالعمل، لأن بيانات الاعتماد لا تعبر حدود الملف التعريفي۔
لا تضع هوية العميل في خانة شهادة CA۔ تلك الخانة تغذي مخزن ثقة المستخدم، ومنذ Android 7 تجاهلت التطبيقات سلطات CA المضافة من المستخدم ما لم تسمح بذلك تهيئة أمان الشبكة، لذا لا تظهر شهادة العميل الموضوعة هناك أبدًا في منتقي مفاتيح VPN۔
بعض عملاء VPN لا يلمسون مخزن النظام أبدًا ويستوردون ملف P12 في دليل التطبيق الخاص بهم بدلًا من ذلك۔ هذا تصميم مشروع، لكنه يغيّر كل خطوة لاحقة: المفتاح يعيش الآن داخل صندوق رمل التطبيق وهو بقوة ما يقدمه ذلك التطبيق في إدارة تخزينه الخاص۔ راجع وثائق العميل قبل أن تفترض أن KeyChain هو المستخدم۔
الخطوة 3: أثبت أي جهة تحتفظ بالمفتاح
الاستيراد يؤكد التحليل لا الدعم العتادي۔ في Android 12 وما بعده، يبلّغ KeyInfo.getSecurityLevel() عما إذا كان المفتاح في بيئة التنفيذ الموثوقة أو في StrongBox أو في البرمجيات، وهو يحل محل الاستدعاء الأقدم isInsideSecureHardware()۔ إذا لم يعرض عميل VPN تلك القيمة، فبصمة الخطوة 1 هي بديلك۔ الشهادة التي يُعاد ترميزها أثناء الاستيراد لن تطابق بايتًا ببايت، لكن المفتاح العام والموضوع سيظلان متطابقين۔
غير قابل للتصدير ليس مثل غير قابل للاستخدام۔ المفتاح الذي لا يمكنه مغادرة الجهاز لا يزال بإمكان أي تطبيق يصرّح له المستخدم باختيار ذلك الاسم المستعار استخدامه، ولهذا فإن مطالبة الاسم المستعار ضابط حقيقي وليست شكلية۔ وثائق Android Keystore تستحق قراءة واحدة إن كنت تتخذ ذلك القرار التصميمي۔
ثم احسب حساب النسخ التي صنعتها۔ ملف P12 على حاسوبك المحمول، والنسخة في مرفق التذكرة، والنسخة في نسخة احتياطية من الشهر الماضي كلها هويات صالحة ما دام المُصدر لم يلغها۔ الحماية العتادية للنسخة على الهاتف لا تفعل شيئًا لتلك۔
الخطوة 4: اكتشف من يملك متطلب قفل الشاشة
ثلاثة أسرار تُخلط هنا: رمز PIN لفتح الجهاز، وعبارة مرور المفتاح الخاص، وكلمة مرور حساب VPN۔ المطالبة بواحد منها ليست أبدًا طلبًا لإعادة تعيين الآخرين، وإعادة تعيين الخطأ هي الطريقة التي يُقفل بها الناس أنفسهم خارج ملف تعريف كان يعمل جيدًا۔
عندما يتطلب مسؤول الجهاز أو سياسة ملف تعريف مُدار قفلًا، فإن المتطلب ينتمي إلى تلك السياسة لا إلى الشهادة۔ يسرد adb shell dumpsys device_policy المسؤولين النشطين وجودة كلمة المرور التي يفرضونها، وهي أسرع طريقة لمعرفة ما إذا كان وكيل MDM هو سبب تغير قواعد PIN لديك۔ إزالة الشهادة لن تخفف السياسة، وإزالة السياسة قرار إداري وليس تعديلًا في الإعدادات۔
توقع مقايضة في سهولة الاستخدام أيضًا۔ إذا كان المفتاح يتطلب تفويض المستخدم، فلا يمكن للنفق أن ينشأ قبل أول فتح، لذا تفشل المزامنات المجدولة والتنبيهات عن بعد بحكم التصميم۔ قرر ذلك قبل النشر لا بعده۔
تجنب اختصار تعديل locksettings.db أو إعادة تشغيل حل قديم لنسيان النمط۔ تلك الروتينات كُتبت لبناءات محددة، ويمكنها أن تترك مخزن بيانات الاعتماد في حالة لا يتوقعها إطار العمل، وهي لا تغيّر أبدًا السياسة التي طلبت القفل من الأصل۔
الخطوة 5: اسحب الهوية وتحقّق من الرفض
لسحب الهوية ثلاثة أجزاء والجزء الأول فقط محلي۔ أزل ملف تعريف VPN، واحذف شهادة المستخدم تحت الإعدادات، الأمان، التشفير وبيانات الاعتماد، بيانات اعتماد المستخدم، ثم اجعل المُصدر يلغي الرقم التسلسلي للشهادة۔ الحذف المحلي وحده يترك بيانات اعتماد لا يزال الخادم يقبلها إن احتفظ أحدهم بملف P12۔
تحقق من النتيجة بدلًا من افتراضها۔ جرّب اتصالًا بملف التعريف المسحوب وتأكد أن الخادم يرفضه۔ النفق الذي ما زال ينشأ يعني أنك ألغيت الرقم التسلسلي الخطأ أو أن العميل تراجع بصمت إلى هوية أخرى مثبتة۔
إذا كنت تتراجع عن استيراد فاشل، فأعد الاستيراد من الحزمة المشفرة الأصلية وأعد فحص البصمة بدلًا من إعادة استخدام ملف مفتاح مفكوك التشفير تركته على القرص۔