Saat openssl x509
menggunakan -extfile
, perintah yang Anda gunakan openssl req
,, perlu -config
menentukan file konfigurasi.
Jadi, Anda dapat menggunakan perintah seperti ini:
openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
-days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
Prompt yang biasa untuk bit nama dibedakan didefinisikan dalam file konfigurasi default (yang mungkin /System/Library/OpenSSL/openssl.cnf
pada OS X), tetapi file ini tidak diproses ketika Anda menggunakan -config
, jadi file konfigurasi Anda juga harus menyertakan beberapa bit DN. Dengan demikian, yang dirujuk di atas cert_config
mungkin terlihat seperti ini:
[ req ]
prompt = no
distinguished_name = my dn
[ my dn ]
# The bare minimum is probably a commonName
commonName = secure.example.com
countryName = XX
localityName = Fun Land
organizationName = MyCo LLC LTD INC (d.b.a. OurCo)
organizationalUnitName = SSL Dept.
stateOrProvinceName = YY
emailAddress = ssl-admin@example.com
name = John Doe
surname = Doe
givenName = John
initials = JXD
dnQualifier = some
[ my server exts ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
# 1.3.6.1.5.5.7.3.1 can also be spelled serverAuth:
# extendedKeyUsage = serverAuth
# see x509v3_config for other extensions
Seperti yang ditunjukkan dalam komentar, Anda mungkin dapat meninggalkan sebagian besar bidang DN. Untuk penggunaan HTTPS, saya pikir semua yang Anda butuhkan adalah CN yang cocok dengan nama host Anda.
The Distinguished Nama dan Atribut Bagian Format bagian dari req (1) menunjukkan bagaimana Anda bisa mengubah konfigurasi di atas untuk cepat untuk nilai-nilai (dan memberikan nilai default) jika Anda ingin menghasilkan beberapa sejenis sertifikat / permintaan.
Jika Anda memerlukan ekstensi sertifikat lain, periksa
x509v3_config (5)
untuk mengetahui bit lain apa yang dapat Anda tentukan di bagian ekstensi.