একটি ওয়েব সাইট থেকে, আপনি এটি করতে পারেন:
openssl s_client -showcerts -verify 5 -connect stackexchange.com:443 < /dev/null
এটি শংসাপত্র শৃঙ্খলা এবং সার্ভার উপস্থাপিত সমস্ত শংসাপত্র প্রদর্শন করবে।
এখন, আমি যদি ফাইলগুলিতে এই দুটি শংসাপত্র সংরক্ষণ করি তবে আমি এটি ব্যবহার করতে পারি openssl verify
:
$ openssl verify -show_chain -untrusted dc-sha2.crt se.crt
se.crt: OK
Chain:
depth=0: C = US, ST = NY, L = New York, O = "Stack Exchange, Inc.", CN = *.stackexchange.com (untrusted)
depth=1: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA (untrusted)
depth=2: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
-untrusted
বিকল্প অন্তর্বর্তী শংসাপত্র (গুলি) দিতে ব্যবহার করা হয়; se.crt
যাচাই করার শংসাপত্র। গভীরতা = 2 ফলাফলটি সিস্টেম বিশ্বাসযোগ্য সিএ স্টোর থেকে এসেছে।
যদি আপনার মধ্যে অন্তর্বর্তী শংসাপত্র না থাকে তবে আপনি যাচাই করতে পারবেন না। এটি ঠিক কিভাবে X.509 কাজ করে।
শংসাপত্রের উপর নির্ভর করে এর মধ্যবর্তী হতে কোনও ইউআরআই থাকতে পারে। উদাহরণ হিসাবে, openssl x509 -in se.crt -noout -text
রয়েছে:
Authority Information Access:
OCSP - URI:http://ocsp.digicert.com
CA Issuers - URI:http://cacerts.digicert.com/DigiCertSHA2HighAssuranceServerCA.crt
সেই "সিএ ইস্যুয়ার্স" ইউআরআই মধ্যবর্তী সার্টের দিকে নির্দেশ করে (ডিইআর ফর্ম্যাটে, সুতরাং আপনাকে openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
ওপেনএসএসএল দ্বারা আরও ব্যবহারের জন্য রূপান্তর করতে ব্যবহার করতে হবে)।
আপনি যদি চালান তবে openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
তা পাবেন 244b5494
যা আপনি সিস্টেমের মূল সিএ /etc/ssl/certs/244b5494.0
স্টোরটিতে সন্ধান করতে পারেন (কেবলমাত্র .0
নামের সাথে সংযুক্ত করুন)।
আমি মনে করি না যে আপনার পক্ষে এটি করার জন্য একটি দুর্দান্ত, সহজ ওপেনএসএসএল কমান্ড আছে।