Durante l' openssl x509
utilizzo -extfile
, il comando che si sta utilizzando openssl req
deve -config
specificare il file di configurazione.
Quindi, potresti usare un comando come questo:
openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
-days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
I soliti prompt per i bit con nome distinto sono definiti nel file di configurazione predefinito (che probabilmente si trova /System/Library/OpenSSL/openssl.cnf
su OS X), ma questo file non viene elaborato quando lo si utilizza -config
, quindi il file di configurazione deve includere anche alcuni bit DN. Pertanto, i riferimenti sopra riportati cert_config
potrebbero assomigliare a questo:
[ 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
Come indicato nel commento, probabilmente puoi tralasciare la maggior parte dei campi DN. Per l'utilizzo HTTPS, penso che tutto ciò di cui hai bisogno sia una CN che corrisponda al tuo nome host.
La sezione Formato sezione nome distinto e attributo di req (1) mostra come è possibile modificare la configurazione sopra per richiedere valori (e fornire valori predefiniti) se si desidera generare più certificati / richieste simili.
Se hai bisogno di altre estensioni di certificato, controlla
x509v3_config (5)
per quali altri bit puoi specificare nelle sezioni di estensione.