কমান্ড লাইনে আমি কীভাবে SSL শংসাপত্রগুলি যাচাই করতে পারি?


52

আমি এখানে সংরক্ষিত আরএসএ কী, সিএ-বান্ডেল এবং শংসাপত্রটি যাচাই / যাচাই করার চেষ্টা করছি। এগুলি ওয়েব সার্ভার দ্বারা সরবরাহ করা হচ্ছে না। আমি কীভাবে সেগুলি যাচাই করতে পারি?


openssl x509ম্যানুয়াল অধ্যায়।
অ্যালেক্স

ওপেনএসএসএল যাচাইকরণ ম্যানুয়াল আপনাকে এখানে সহায়তা করতে পারে। এছাড়াও, দেখুন এই পৃষ্ঠার কয়েকটি দুর্দান্ত উদাহরণ রয়েছে।
স্টিফান লাসিউইস্কি

উত্তর:


61

ধরে নিই যে আপনার শংসাপত্রগুলি PEM ফর্ম্যাটে রয়েছে, আপনি এটি করতে পারেন:

openssl verify cert.pem

আপনার "সিএ-বান্ডেল" যদি পিইএম ফর্ম্যাটে অতিরিক্ত অন্তর্বর্তী শংসাপত্রযুক্ত একটি ফাইল হয়:

openssl verify -untrusted ca-bundle cert.pem

যদি আপনার ওপেনসেলটি স্বয়ংক্রিয়ভাবে রুট শংসাপত্রগুলির একটি ইনস্টলড সেট (উদাহরণস্বরূপ /etc/ssl/certs) ব্যবহার করতে সেট আপ না করা থাকে তবে আপনি CA ব্যবহার করতে -CApathবা -CAfileনির্দিষ্ট করতে পারেন।


9
সতর্কতা, ওপেনসেল যাচাই কমান্ড আপনার প্রত্যাশার চেয়ে বেশি অনুমোদিত! ডিফল্টরূপে প্রদত্ত সিএফাইল পরীক্ষা করার সাথে সাথে এটি সিস্টেমের শংসাপত্রের ডিরেক্টরি যেমন / ইত্যাদি / এসএসএল / সার্টের সাথে কোনও মিলের সিএও পরীক্ষা করে। এই আচরণটি রোধ করতে এবং নিশ্চিত করার জন্য আপনি ক্যাফাইলের দেওয়া আপনার নির্দিষ্ট সিএ শংসাপত্রের বিরুদ্ধে পরীক্ষা করছেন, আপনাকে অবশ্যই অ-অস্তিত্বশীল ডিরেক্টরি সহ একটি-সিএপিপথ বিকল্পটি পাস করতে হবে, যেমন: ওপেনসেল যাচাই -verbose-CApath nosuchdir-CAfile cacert.pem সার্ভার .crt
ডিএসিমন

2
আরও একটি সতর্কতামূলক: আপনি যদি ব্যবহার করেন -CApath nosuchdirতবে সার্ভার.সিআরটি এবং ক্যাসের্ট.পিএম এর সংমিশ্রণে অবশ্যই মূল সিএ অন্তর্ভুক্ত করতে হবে; যদি ওপেনসেল কেবলমাত্র সেই ফাইলগুলির সাথে একটি মধ্যবর্তী সিএ পর্যন্ত কাজ করতে পারে তবে এটি অভিযোগ করবে।
ডিএসিমন

এটি বলে যে এ জাতীয় কোনও ফাইল নেই /certs/। এটি কি সমস্যার সৃষ্টি করবে? কারণ আমার সার্ভার যেখানে কাজ করে সেখানে স্ট্যাক করা হয়, এইচটিপি কার্ল কাজ করে তবে https .. কার্ল ত্রুটি পায়। যেখানে ওয়েবসাইট কাজ বন্ধ করে দিয়েছে।
জিওরগি জিভিমাদজে

18

শংসাপত্র শৃঙ্খলা যাচাই করার জন্য এখানে এক-লাইনার রয়েছে:

openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem

এর জন্য কোথাও সিএ ইনস্টল করার দরকার নেই।

বিশদ জানতে https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work দেখুন ।


1
সতর্কতা, -কাফাইল বিকল্পটি আপনার প্রত্যাশার চেয়ে বেশি অনুমোদিত। বিস্তারিত জানার জন্য গৃহীত উত্তরে আমার মন্তব্য দেখুন।
ডিএসিমন

1
@ ডিডিমন, আমি -CApath nosuchdirউত্তরটি যুক্ত করেছি। ধন্যবাদ.
ভাদজিম

সমস্যা নেই, সাহায্য করে খুশি। :-) আমার পূর্ববর্তী মন্তব্য পোস্ট করার পরে আমি যে বিষয়টি জানতে পেরেছিলাম: যদি সুনির্দিষ্ট ফাইলটি -CAfileকেবল একটি অন্তর্বর্তী শংসাপত্র হয় তবে ওপেনসেল অভিযোগ করবে। এটি সঠিক আচরণ, যেহেতু verifyমূল সিএ পর্যন্ত পুরো শৃঙ্খলার প্রয়োজন, তবে এটি বিভ্রান্তিকর হতে পারে।
ডিএসিমন

2
আমার সংস্করণ ( OpenSSL 1.1.1 11 Sep 2018) -CApathএকটি বিদ্যমান ডিরেক্টরি হতে যুক্তি প্রয়োজন ।
জেক কোব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.