এসএসএল ক্লায়েন্ট শংসাপত্র তৈরি করতে কীভাবে ওপেনএসএল সিএ সঠিকভাবে সেটআপ করবেন


9

আমি আমার প্রথম সিএ কনফিগার করছি এর উদ্দেশ্যটি হ'ল আমাদের ক্লায়েন্টদের শংসাপত্র জারি করা, যারা এগুলি https- র মাধ্যমে আমাদের ইডিআই পরিষেবা অ্যাক্সেস করতে ব্যবহার করবেন। সুতরাং আমার এসএসএল ক্লায়েন্টের শংসাপত্র তৈরি করতে হবে। শংসাপত্রগুলিতে স্বাক্ষর করার পুরো প্রক্রিয়াটি এখনই কাজ করে এবং শংসাপত্রগুলি সফলভাবে আমাদের পরিষেবা অ্যাক্সেসের জন্য ব্যবহার করা যেতে পারে তবে আমি একটি জিনিস সম্পর্কে উদ্বিগ্ন:

উত্পন্ন শংসাপত্র উদ্দেশ্যে জেনেরিক উপায়:

$ openssl x509 -purpose  -noout -in client.crt.pem
Certificate purposes:
SSL client : Yes
SSL client CA : No
SSL server : Yes
SSL server CA : No
Netscape SSL server : Yes
Netscape SSL server CA : No
S/MIME signing : Yes
S/MIME signing CA : No
S/MIME encryption : Yes
S/MIME encryption CA : No
CRL signing : Yes
CRL signing CA : No
Any Purpose : Yes
Any Purpose CA : Yes
OCSP helper : Yes
OCSP helper CA : No

আমি মনে করি যে আমার ক্ষেত্রে এসএসএল ক্লায়েন্ট এবং এস / মাইম সাইন ছাড়া অন্য কোনও উদ্দেশ্য হওয়া উচিত না। আমি কি ভুল করছি এবং এটি কি এটির মতোই থাকা উচিত?

যদি আমি সঠিক এবং আমার অন্য উদ্দেশ্যগুলি অক্ষম করা উচিত, তবে আমার ওপেনএসএল সিএনএফ কনফিগে আমার কী রাখা উচিত?

এখানে আমার বর্তমান কনফিগারেশন (কিছুটা ফেলা):

[ CA_edi ]
# here was directory setup and some other stuff, cut it for clarity
x509_extensions = usr_cert      # The extentions to add to the cert

name_opt    = ca_default        # Subject Name options
cert_opt    = ca_default        # Certificate field options
# Extension copying option: use with caution.
# copy_extensions = copy
# stripped rest of config about validity days and such

[ usr_cert ]

basicConstraints=CA:FALSE
nsCertType = client, email
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, keyAgreement

উত্সাহিত শংসাপত্রগুলি সার্ভারের ব্যবহারের জন্য মঞ্জুরি দেয় এমন আমি কী ভুল করছি?


"Cert_opt = ca_default" পর্যালোচনা করুন যা কোনও ওভাররাইড তৈরি করে বলে মনে হচ্ছে।
zedman9991

এটি একটি ভাল প্রশ্ন মত মনে হচ্ছে, বছর পরে এবং কোন উত্তর?
ইভান ক্যারল

হ্যাঁ, কোন উত্তর নেই। আমি নিজেই এটি বের করতে পারেনি। তবে আমাদের ইডিআই বিটা পরীক্ষা চলছে এবং প্রযোজনা সংস্করণের জন্য অদূর ভবিষ্যতে আমাকে এটি ব্যবহার করতে হবে।
সুইচ উইলক

আমি নীচের উত্তরে আমার সেরা ছুরিকাঘাত করেছি, তবে আপনি যদি openssl x509 -text -nameopt multiline -certopt no_sigdump -certopt no_pubkey -noout -in one_of_your_client_certificates.pemনিজের openssl.cnfফাইল থেকে আউটপুট এবং এক্সটেনশন বিভাগের একটি অনুলিপি অন্তর্ভুক্ত করতে পারেন তবে আমি আরও নির্দিষ্ট পরামর্শ প্রদান করতে পারি কিনা তা আমি দেখতে পাচ্ছি।
ক্যালরিয়ন

উত্তর:


4

আপনি "সিআরএল স্বাক্ষর", "যে কোনও উদ্দেশ্য সিএ", এবং "ওসিএসপি সহায়ক" সম্পর্কে উদ্বিগ্ন হোন, এগুলি সাধারণত সিএ শংসাপত্র বা শংসাপত্রগুলির জন্য নির্দিষ্টভাবে শংসাপত্র প্রত্যাহার তালিকাগুলিতে স্বাক্ষর করার জন্য সংরক্ষণ করা হয় (সিআরএল, শংসাপত্রের একটি তালিকা যা অবৈধ), বা একটি ওসিএসপি সার্ভার চলছে (সিআরএলগুলির অনুরূপ, তবে একটি অনলাইন পরিষেবা যা শংসাপত্রের জন্য বৈধতার স্ট্যাটাস সরবরাহ করে)।

সম্পর্কিত ওপেনএসএসএল ডকুমেন্টেশন পৃষ্ঠাটি x509 কমান্ড এবং x509v3_config এর জন্য

ক্লায়েন্ট শংসাপত্র তৈরি করার জন্য আমি ওপেনএসএসএল কনফিগারেশনটি ব্যবহার করছি:

[user]
basicConstraints = critical,CA:FALSE
extendedKeyUsage = clientAuth,emailProtection
subjectAltName=email:copy
crlDistributionPoints = URI:http://www.rgweb.org/ca/rgweb-ca.crl
authorityKeyIdentifier=keyid:always
authorityInfoAccess = caIssuers;URI:http://www.rgweb.org/ca/rgweb-ca.cer

আমি আপনাকে একের পর এক লাইন দিয়ে যাব:

basicConstraintsসমালোচনামূলক, যার মানে "এই শংসাপত্রটি প্রত্যাখ্যান যদি এই বিট বুঝতে পারছি না", এবং নির্দিষ্ট করে সার্টিফিকেট হিসাবে সেট করা হয় একটি CA না । এমনকি যদি কেউ এই শংসাপত্র থেকে শংসাপত্র জারি করতে সফ্টওয়্যার ব্যবহার করেন তবে এটি কখনও বিশ্বাসযোগ্য হবে না।

বর্ধিত কী ব্যবহার অপরিহার্য নয়, তবে কিছু সফ্টওয়্যারটির এটি উপস্থিত থাকতে হবে এবং একটি নির্দিষ্ট উদ্দেশ্য তালিকাভুক্ত করা দরকার। এটি ক্লায়েন্টের প্রমাণীকরণ (আপনি কী সম্পর্কে কথা বলছেন) এবং এস / মিমি ইমেল স্বাক্ষর ও এনক্রিপশন তালিকাভুক্ত করে; আপনার যদি প্রয়োজন না হয় তবে আপনি নিরাপদে এস / মাইম উদ্দেশ্যটি সরিয়ে ফেলতে পারেন।

subjectAltNameআপনাকে ক্ষেত্রের মধ্যে অন্তর্ভুক্ত করতে পারবেন না এমন বিষয় সম্পর্কে তথ্য অন্তর্ভুক্ত করার অনুমতি দেয় subject। এটি ওয়েব সার্ভার শংসাপত্রগুলিতে ডোমেনের নাম অন্তর্ভুক্ত করতে ব্যবহৃত হয় যা শংসাপত্রটি বিষয়টির সাধারণ নাম বৈশিষ্ট্যে নির্দিষ্ট ডোমেন ছাড়া অন্যটির জন্য ব্যবহার করা যেতে পারে; এই শংসাপত্রগুলি SAN (বিষয় বিকল্প নাম) শংসাপত্র হিসাবে উল্লেখ করা হয়। subjectAltNameবিষয়টির পরিবর্তে ইমেলের ঠিকানা অন্তর্ভুক্ত করা সাধারণ অভ্যাস ; আপনাকে কোনও ইমেল ঠিকানা অন্তর্ভুক্ত করতে হবে না এবং এক্সটেনশনটি বাদ দিতে পারে।

crlDistributionPointsইস্যুকারী কর্তৃপক্ষের জন্য সিআরএল যে জায়গাগুলি উপলভ্য রয়েছে তার তালিকা করে; এটি সফ্টওয়্যারকে বলেছে যা শংসাপত্রটি বৈধ করার চেষ্টা করছে "এই শংসাপত্রটি এখনও বৈধ কিনা তা দেখতে এখানে।" ইন্টারনেট ব্যবহারের জন্য, http://সম্ভবত একটি ইউআরএল সেরা (সিআরএল ডিজিটাল স্বাক্ষরিত, সুতরাং এর প্রয়োজন নেই httpsএবং এটি বিশ্বাসের লুপ সমস্যার কারণ হতে পারে)।

authorityKeyIdentifierসাধারণত জারি করা সিএর পাবলিক কীটির SHA-1 হ্যাশ হয় (যদিও এটি অন্যান্য মান হতে পারে)। আপনি যদি এই এক্সটেনশনটি অন্তর্ভুক্ত করেন তবে সিএ শংসাপত্র জারি করে মানটি অবশ্যইsubjectKeyIdentifier মানের সাথে মিলবে

authorityInfoAccessকিছুটা crlDistributionPointsহলেও এটি সিআরএল-এর চেয়ে ইস্যুকারী সিএ শংসাপত্রটি কোথায় পাবে তা নির্দিষ্ট করে । আপনার যদি বিশ্বাসের দীর্ঘ শৃঙ্খলা থাকে তবে এটি কার্যকর: যেমন CA-1 ইস্যু করে CA-2, যা CA-3 জারি করে, যা শংসাপত্র জারি করে; শংসাপত্রটি যাচাই করার চেষ্টা করছে এমন সফ্টওয়্যার CA-3 শংসাপত্রটি পেতে এই এক্সটেনশনটি ব্যবহার করতে পারে, তারপরে CA-2 শংসাপত্র ইত্যাদি পেতে সেই শংসাপত্রের মানটি ব্যবহার করতে পারে সাধারণত শংসাপত্র শৃঙ্খলা (এই ক্ষেত্রে, CA-2 শংসাপত্র) এবং CA-3 শংসাপত্র) বিষয়টির শংসাপত্রের পাশাপাশি বান্ডিল হয় (যেমন কোনও এসএসএল লেনদেনে, বা এস / মাইমে ইমেল)। আমি এই এক্সটেনশনটি ব্যবহার করে এমন কোনও সফ্টওয়্যার জানি না, তবে আমি জানি না যে এটি সাধারণত ব্যবহৃত হয় না। এটি সাধারণত শংসাপত্রের অন্তর্ভুক্ত।

সব, আপনি শুধুমাত্র সত্যিই প্রয়োজনbasicConstraints এবং extendedKeyUsage; মৌলিক প্রতিবন্ধকতাগুলি সত্যই, সত্যই সমালোচিত হতে হবে (বা আপনি কেবল সিএ শংসাপত্রগুলি হস্তান্তর করেছেন!) এবং প্রসারিত কী ব্যবহার সাধারণত হয় না।


আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। আমি ইতিমধ্যে আমার আশা হারিয়ে ফেলেছি। আমি আজ এটি পরে পড়ব এবং যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।
SWilk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.