Saya mencoba membuat sertifikat yang ditandatangani sendiri dengan OpenSSL dengan SubjectAltName di dalamnya. Saat saya membuat csr untuk sertifikat, tebakan saya adalah saya harus menggunakan ekstensi v3 dari OpenSSL x509. Saya menggunakan :
openssl req -new -x509 -v3 -key private.key -out certificate.pem -days 730
Bisakah seseorang membantu saya dengan sintaks yang tepat?
ssl
openssl
ssl-certificate
x509certificate
x509
mohanjot.dll
sumber
sumber
Jawaban:
Ini adalah proses tiga langkah, dan ini melibatkan modifikasi
openssl.cnf
file. Anda mungkin dapat melakukannya hanya dengan opsi baris perintah, tetapi saya tidak melakukannya dengan cara itu.Temukan
openssl.cnf
file Anda . Kemungkinan besar terletak di/usr/lib/ssl/openssl.cnf
:Di sistem Debian saya ,
/usr/lib/ssl/openssl.cnf
digunakan olehopenssl
program bawaan. Pada sistem Debian terbaru, ini terletak di/etc/ssl/openssl.cnf
Anda dapat menentukan mana
openssl.cnf
yang digunakan dengan menambahkan file palsuXXX
dan melihat apakahopenssl
tersedak.Pertama, ubah
req
parameter. Tambahkanalternate_names
bagianopenssl.cnf
dengan nama yang ingin Anda gunakan. Tidak adaalternate_names
bagian yang ada , jadi tidak masalah di mana Anda menambahkannya.Selanjutnya, tambahkan yang berikut ini ke bagian yang ada
[ v3_ca ]
. Cari string yang tepat[ v3_ca ]
:Anda dapat mengubah
keyUsage
ke yang berikut di bawah ini[ v3_ca ]
:digitalSignature
dankeyEncipherment
merupakan tarif standar untuk sertifikat server. Jangan khawatirnonRepudiation
. Ini sedikit tidak berguna dipikirkan oleh orang-orang ilmu komputer yang ingin menjadi pengacara. Itu tidak ada artinya di dunia hukum.Pada akhirnya, IETF ( RFC 5280 ), browser, dan CA berjalan cepat dan longgar, jadi mungkin tidak masalah penggunaan kunci apa yang Anda berikan.
Kedua, ubah parameter penandatanganan. Temukan baris ini di bawah
CA_default
bagian:Dan ubah menjadi:
Ini memastikan SAN disalin ke dalam sertifikat. Cara lain untuk menyalin nama DNS rusak.
Ketiga, buat sertifikat yang Anda tandatangani sendiri:
Terakhir, periksa sertifikatnya:
sumber
openssl genrsa -out cert.key 3072 -nodes
openssl req -new -x509 -key cert.key -sha256 -config openssl.cnf -out cert.crt -days 730 -subj "/C=US/ST=private/L=province/O=city/CN=hostname.example.com"
subjectAltName=$ENV::ALTNAME
(dan setel env. VarALTNAME=DNS:example.com,DNS:other.example.net
).IP
alih-alihDNS
untukalternate_names
jika Anda bekerja dengan alamat ip. Anda juga dapat menyalin file konfigurasi secara lokal dan kemudian menentukannya pada baris perintah openssl dengan-config my_config.cnf
. Dan Anda mungkin harus menghapus komentarreq_extensions = v3_req
.