وارد کردن گواهی کلاینت VPN در اندروید چند دقیقه طول می‌کشد۔ بررسی اینکه در جای درست فرود آمده زمان بیشتری می‌برد، و همان بخشی است که بیشتر مردم وقتی پنجره نصب موفقیت را اعلام می‌کند از آن می‌گذرند۔ پیام موفقیت تنها یعنی فایل تجزیه شده است۔ درباره اینکه کدام ارائه‌دهنده کلید خصوصی را نگه می‌دارد یا نسخه‌ای هنوز در پوشه 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 واقعاً می‌خواند

در اندروید 11 تا 14 استاندارد مسیر از تنظیمات، امنیت، رمزنگاری و اعتبارنامه‌ها، نصب گواهی، سپس VPN و گواهی کاربر برنامه می‌گذرد۔ عبارت‌پردازی و تودرتویی میان نسخه‌ها و پوسته‌های سازندگان تغییر می‌کند، پس برچسب نوع اعتبارنامه را دنبال کنید نه جای منوی حفظ‌شده۔ در نمایه کاری، از داخل سمت کار نصب کنید، چون اعتبارنامه‌ها از مرز نمایه عبور نمی‌کنند۔

هویت کلاینت را در شکاف گواهی CA قرار ندهید۔ آن شکاف مخزن اعتماد کاربر را تغذیه می‌کند و از اندروید 7 به بعد برنامه‌ها CAهای افزوده‌شده توسط کاربر را نادیده می‌گیرند مگر اینکه پیکربندی امنیت شبکه‌شان اجازه دهد، بنابراین گواهی کلاینتی که آنجا گذاشته شود هرگز در انتخابگر کلید VPN ظاهر نمی‌شود۔

برخی کلاینت‌های VPN هرگز مخزن سیستم را لمس نمی‌کنند و در عوض P12 را در پوشه برنامه خود وارد می‌کنند۔ این طراحی مشروعی است، اما هر گام بعدی را تغییر می‌دهد: کلید اکنون زیر سندباکس برنامه زندگی می‌کند و دقیقاً به اندازه رسیدگی آن برنامه به انبار خودش قوی است۔ پیش از فرض اینکه KeyChain در کار است مستندات کلاینت را بررسی کنید۔

گام 3: اثبات کنید کدام ارائه‌دهنده کلید را نگه می‌دارد

وارد کردن، تجزیه را تأیید می‌کند نه پشتیبانی سخت‌افزاری را۔ در اندروید 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 را نگه داشته باشد هنوز می‌پذیرد۔

نتیجه را بررسی کنید نه اینکه فرض بگیرید۔ با نمایه بازنشسته‌شده‌ای اتصال را امتحان کنید و تأیید کنید که سرور آن را رد می‌کند۔ تونلی که هنوز بالا می‌آید یعنی شماره سریال اشتباه را باطل کرده‌اید یا کلاینت بی‌صدا به هویت نصب‌شده دیگری افتاده است۔

اگر وارد کردن ناموفقی را برمی‌گردانید، از بسته رمزنگاری‌شده اصلی دوباره وارد کنید و اثر انگشت را دوباره بررسی کنید، نه اینکه از فایل کلید رمزگشایی‌شده‌ای که روی دیسک گذاشته‌اید دوباره استفاده کنید۔

مقالات مرتبط