আমি কীভাবে ওপেনসেল ক্লাইমে সাবজেক্টআল্টনেম নির্দিষ্ট করব?


9

আমি একটি স্ব-স্বাক্ষরিত এসএসএল শংসাপত্র তৈরি করছি:

$ openssl req -x509 -newkey rsa:2048 -subj 'CN=example.com'

আমি তৈরির সময়ও একটি বিষয়সত্তা নামটি নির্দিষ্ট করতে চাই , তবে কীভাবে এটি করা যায় তার জন্য আমি ওপেনসেল ম্যানপেজে তথ্য খুঁজে পাই না।


2
কোন কমান্ড লাইন সুইচ নেই। আপনাকে এটি একটি কনফিগার ফাইলে লিখতে হবে এবং তারপরে এই কনফিগার ফাইলটি ব্যবহার করতে হবে।
স্টিফেন অলরিচ

উত্তর:


4

বিষয়টিকে অলটনেম কোনও অস্থায়ী ফাইলটিতে লেখার চেষ্টা করুন (আমি এর নাম হোস্টেক্সটফাইল করব ) পছন্দ করুন

basicConstraints=CA:FALSE
extendedKeyUsage=serverAuth
subjectAltName=email:my@other.address,RID:1.2.3.4

এবং "-xtfile" বিকল্পের মাধ্যমে ওপেনসেল কমান্ডে এর সাথে লিঙ্ক করুন, উদাহরণস্বরূপ:

openssl ca -days 730 -in hostreq.pem -out -hostcert.pem -extfile hostextfile

1
আমি বিশ্বাস করি যে সঠিক। X509v3 বিষয় বিকল্প নাম: DNS: kb.example.com, ডিএনএস: helpdesk.example.com
চতুর্থাংশ

আমি এই বিবরণ ব্যবহার ।
ভিক্টর

3

opensslকমান্ড একটি উপায় প্রথমে একটি কনফিগ ফাইল লেখা ছাড়া subjectAltName মত এক্সটেনশন অন্তর্ভুক্ত করা প্রদান করে না। আমি একটি সাধারণ ইউটিলিটি লিখেছি যা এটি স্বয়ংক্রিয়ভাবে হয়ে যায়। এটি গিথুবে উপলভ্য: https://github.com/rtts/certify

উদাহরণ ব্যবহার:

./certify example.com www.example.com mail.example.com

এটি নামক একটি ফাইল তৈরি করবে example.com.crtযা সাবজেক্ট অল্টারনেটিভ নামসমূহ ডটকম ডটকম, www.example.com এবং মেইল.এক্সামেল ডটকমের সাথে একটি শংসাপত্র রয়েছে।


0

সাবজেক্টআল্টনেম দিয়ে স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করুন

cd /etc/ssl

cat > my.conf <<- "EOF"
[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=UA
ST=Dnepropetrovskaya
L=Kamyanske
O=DMK
OU=OASUP
emailAddress=webmaster@localhost
CN = www.dmkd.dp.ua

[ req_ext ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[ alt_names ]
DNS.0 = www.dmkd.dp.ua
DNS.1 = dmkd.dp.ua

EOF

# Create key
openssl genrsa -des3 -out server.key.secure 2048
# Disable secret phrase for key
openssl rsa -in server.key.secure -out server.insecure.key
# Create request certificate file with params from file my.conf
openssl req -new -key server.insecure.key -out server.csr -config my.conf
# Create certificate with params from file my.conf
openssl x509 -req -days 365 -in server.csr -signkey server.insecure.key -out server.crt -extensions req_ext -extfile my.conf
# Check request file and certificate for SubjectAltName precense
openssl req -text -noout -in server.csr
openssl x509 -in server.crt -text -noout

0

আমি এখানে তথ্য ব্যবহার করেছি, তবে ব্রাউজারটি সন্তুষ্ট করার জন্য প্রয়োজনীয় তথ্যের সাথে এটি পাতলা করেছি ..

x509 ভি 3 এক্সটেনশন বিকল্প ফাইল:

echo "subjectAltName = @alt_names

[alt_names]
DNS.1 = www.example.com" > v3.ext

বাহ্যিক কীফাইল:

openssl genrsa -out www.example.com.key 2048

সিএ স্বাক্ষর করার অনুরোধ: (ধরে নিলেন আপনার সিএ কী এবং শংসাপত্র রয়েছে)

openssl req -new -key www.example.com.key -subj "/CN=www.example.com" -out www.example.com.csr

শংসাপত্রটি তৈরি করতে অনুরোধটি সাইন করুন, এবং x509 এক্সটেনশন ডেটা অন্তর্ভুক্ত করুন:

openssl x509 -req -in www.example.com.csr -CA ca.example.com.crt -CAkey ca.example.com.key -CAcreateserial -out www.example.com.crt -days 500 -sha256 -extfile v3.ext
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.