Saya ingin secara diam-diam, tidak interaktif, membuat sertifikat SSL. Yaitu, tanpa diminta data apa pun.
Cara normal saya membuat sertifikat adalah:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Saya mencoba yang berikut ini:
openssl genrsa -out server.key 2048
touch openssl.cnf
cat >> openssl.cnf <<EOF
[ req ]
prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = test@email.com
EOF
openssl req -x509 -config openssl.cnf -nodes -days 7300 \
-signkey server.key -out /etc/ssl/private/pure-ftpd.pem
Tapi saya masih mendapatkan prompt untuk data.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. Ini bukanopenssl req
opsi yang valid di sistem saya. Pesan kesalahan akan memiliki ini sebagai baris pertama:unknown option -signkey
2> /dev/null
.Jawaban:
Hal yang Anda lewatkan adalah untuk menyertakan subjek sertifikat di
-subj
bendera. Saya lebih suka ini daripada membuat file konfigurasi karena lebih mudah untuk diintegrasikan ke dalam alur kerja dan tidak perlu dibersihkan sesudahnya.Satu langkah kunci dan generasi csr:
Satu langkah pembuatan sertifikat tanpa kata sandi yang ditandatangani sendiri:
Tidak satu pun dari perintah ini akan meminta data apa pun.
Lihat jawaban saya untuk pertanyaan yang hampir identik pada Pengguna Super ini.
sumber
-subj
parameter, terutama ketika Anda masuk ke ekstensi v3 dan parameter subjectAltName.-batch
(mode non-interaktif)-subj
ini adalah CSR in-line dasar yang valid.Perintah yang Anda cari adalah:
Perubahan dari versi Anda:
-new
diperlukan untuk menghasilkan apa pun-key
digunakan sebagai pengganti-signkey
sumber