আমাদের মধ্যে যারা স্থানীয় কনফিগারেশন পরিবর্তন করতে ইচ্ছুক তাদের জন্য বিশদ উত্তর যা কনফিগার ফাইলটির ব্যাক আপ অন্তর্ভুক্ত রয়েছে:
1. পরিবর্তনগুলির আগে এটি কাজ করছে কিনা পরীক্ষা করুন
আপনার যদি ইতিমধ্যে কোনও পরীক্ষার প্রোগ্রাম না থাকে তবে আপনি আমার জাভা এসএসএলপিং পিং প্রোগ্রাম ব্যবহার করতে পারেন যা টিএলএস হ্যান্ডশেক পরীক্ষা করে (কোনও এইচএসটি / টিএলএস পোর্ট দিয়ে কাজ করবে, কেবল এইচটিটিপিএস নয়)। আমি প্রি-বিল্ট এসএসএলপিং.জার ব্যবহার করব, তবে কোডটি পড়া এবং নিজে এটি তৈরি করা একটি দ্রুত এবং সহজ কাজ:
$ git clone https://github.com/dimalinux/SSLPing.git
Cloning into 'SSLPing'...
[... output snipped ...]
যেহেতু আমার জাভা সংস্করণটি 1.8.0_101 এরও আগের (এই লেখার সময় প্রকাশিত হয়নি), আসুন একটি এনক্রিপ্ট শংসাপত্র ডিফল্টভাবে যাচাই করবে না। সমাধানটি প্রয়োগের আগে ব্যর্থতা দেখতে কেমন তা দেখি:
$ java -jar SSLPing/dist/SSLPing.jar helloworld.letsencrypt.org 443
About to connect to 'helloworld.letsencrypt.org' on port 443
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[... output snipped ...]
২. শংসাপত্রটি আমদানি করুন
আমি জ্যাভাআহোম এনভায়রনমেন্ট ভেরিয়েবল সেট সহ ম্যাক ওএস এক্সে আছি। পরবর্তী কমান্ডগুলি ধরে নেবে যে এই পরিবর্তনশীলটি আপনি পরিবর্তন করছেন এমন জাভা ইনস্টলেশনটির জন্য সেট করা আছে:
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/
ক্যাসেটারস ফাইলটির একটি ব্যাকআপ নিন আমরা সংশোধন করব যাতে আপনি জেডিকে পুনরায় ইনস্টল না করে যে কোনও পরিবর্তন ব্যাকআপ করতে পারেন:
$ sudo cp -a $JAVA_HOME/jre/lib/security/cacerts $JAVA_HOME/jre/lib/security/cacerts.orig
আমাদের আমদানি করতে হবে এমন স্বাক্ষর শংসাপত্রটি ডাউনলোড করুন:
$ wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.der
আমদানি সম্পাদন করুন:
$ sudo keytool -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -importcert -alias lets-encrypt-x3-cross-signed -file lets-encrypt-x3-cross-signed.der
Certificate was added to keystore
3. এটি পরিবর্তনগুলির পরে কাজ করছে কিনা তা যাচাই করুন
যাভা এখন এসএসএল পোর্টের সাথে সংযুক্ত হয়ে খুশি তা যাচাই করুন:
$ java -jar SSLPing/dist/SSLPing.jar helloworld.letsencrypt.org 443
About to connect to 'helloworld.letsencrypt.org' on port 443
Successfully connected