আমি একটি স্ব-স্বাক্ষরিত এসএসএল শংসাপত্র তৈরি করছি:
$ openssl req -x509 -newkey rsa:2048 -subj 'CN=example.com'
আমি তৈরির সময়ও একটি বিষয়সত্তা নামটি নির্দিষ্ট করতে চাই , তবে কীভাবে এটি করা যায় তার জন্য আমি ওপেনসেল ম্যানপেজে তথ্য খুঁজে পাই না।
আমি একটি স্ব-স্বাক্ষরিত এসএসএল শংসাপত্র তৈরি করছি:
$ openssl req -x509 -newkey rsa:2048 -subj 'CN=example.com'
আমি তৈরির সময়ও একটি বিষয়সত্তা নামটি নির্দিষ্ট করতে চাই , তবে কীভাবে এটি করা যায় তার জন্য আমি ওপেনসেল ম্যানপেজে তথ্য খুঁজে পাই না।
উত্তর:
বিষয়টিকে অলটনেম কোনও অস্থায়ী ফাইলটিতে লেখার চেষ্টা করুন (আমি এর নাম হোস্টেক্সটফাইল করব ) পছন্দ করুন
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
openssl
কমান্ড একটি উপায় প্রথমে একটি কনফিগ ফাইল লেখা ছাড়া subjectAltName মত এক্সটেনশন অন্তর্ভুক্ত করা প্রদান করে না। আমি একটি সাধারণ ইউটিলিটি লিখেছি যা এটি স্বয়ংক্রিয়ভাবে হয়ে যায়। এটি গিথুবে উপলভ্য: https://github.com/rtts/certify
উদাহরণ ব্যবহার:
./certify example.com www.example.com mail.example.com
এটি নামক একটি ফাইল তৈরি করবে example.com.crt
যা সাবজেক্ট অল্টারনেটিভ নামসমূহ ডটকম ডটকম, www.example.com এবং মেইল.এক্সামেল ডটকমের সাথে একটি শংসাপত্র রয়েছে।
সাবজেক্টআল্টনেম দিয়ে স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করুন
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
আমি এখানে তথ্য ব্যবহার করেছি, তবে ব্রাউজারটি সন্তুষ্ট করার জন্য প্রয়োজনীয় তথ্যের সাথে এটি পাতলা করেছি ..
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