Android-এ 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 অ্যাপ সত্যিই পড়ে, সেখানেই এটি ইনস্টল করুন

স্টক 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 সক্রিয় প্রশাসকদের এবং তারা যে পাসওয়ার্ড গুণমান প্রয়োগ করে তা তালিকাভুক্ত করে, যা দেখার দ্রুততম উপায় আপনার PIN নিয়ম বদলের কারণ MDM এজেন্ট কি না। সার্টিফিকেট সরালে নীতি শিথিল হবে না, আর নীতি সরানো সেটিংসের খুঁটিনাটি নয়, প্রশাসনিক সিদ্ধান্ত।

ব্যবহারযোগ্যতার একটি সমঝোতাও আশা করুন। কী-এর জন্য ব্যবহারকারীর অনুমোদন লাগলে প্রথম আনলকের আগে টানেল উঠতে পারে না, তাই নির্ধারিত সিঙ্ক ও দূরবর্তী ওয়েক-আপ নকশা অনুযায়ী ব্যর্থ হয়। মোতায়েনের আগেই এটি ঠিক করুন, পরে নয়।

locksettings.db সম্পাদনা করা বা পুরোনো ভুলে যাওয়া-প্যাটার্নের সমাধান আবার চালানোর শর্টকাট এড়িয়ে চলুন। ওই রুটিনগুলো নির্দিষ্ট বিল্ডের জন্য লেখা, তারা ক্রেডেনশিয়াল স্টোরকে এমন অবস্থায় ফেলতে পারে যা ফ্রেমওয়ার্ক আর প্রত্যাশা করে না, এবং তারা প্রথমেই লক চাওয়া নীতিটি কখনও বদলায় না।

ধাপ 5: পরিচয় অবসর দিন এবং প্রত্যাখ্যান যাচাই করুন

অবসরের তিনটি অংশ আর শুধু প্রথমটি লোকাল। VPN প্রোফাইল সরান, সেটিংস, নিরাপত্তা, এনক্রিপশন ও শংসাপত্র, ব্যবহারকারী শংসাপত্রের অধীনে ব্যবহারকারী সার্টিফিকেট মুছুন, তারপর ইস্যুয়ারকে সার্টিফিকেটের সিরিয়াল প্রত্যাহার করতে বলুন। শুধু লোকাল মুছে ফেলা এমন ক্রেডেনশিয়াল রেখে যায় যা কেউ P12 রাখলে সার্ভার এখনও গ্রহণ করে।

ধরে নেওয়ার বদলে ফলাফল যাচাই করুন। অবসর দেওয়া প্রোফাইল দিয়ে সংযোগ করার চেষ্টা করুন এবং সার্ভার তা প্রত্যাখ্যান করে কি না নিশ্চিত করুন। যে টানেল এখনও ওঠে তার মানে আপনি ভুল সিরিয়াল প্রত্যাহার করেছেন বা ক্লায়েন্ট চুপচাপ অন্য ইনস্টল করা পরিচয়ে ফিরে গেছে।

ব্যর্থ আমদানি ফিরিয়ে নিচ্ছেন হলে মূল এনক্রিপ্টেড বান্ডেল থেকেই আবার আমদানি করুন এবং ডিস্কে রেখে দেওয়া ডিক্রিপ্ট করা কী ফাইল আবার ব্যবহার না করে ফিঙ্গারপ্রিন্ট আবার যাচাই করুন।

সম্পর্কিত নিবন্ধ