Lors de l' openssl x509
utilisation -extfile
, la commande que vous utilisez openssl req
, doit -config
spécifier le fichier de configuration.
Vous pouvez donc utiliser une commande comme celle-ci:
openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
-days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
Les invites habituelles pour les bits de nom distinctif sont définies dans le fichier de configuration par défaut (qui est probablement /System/Library/OpenSSL/openssl.cnf
sous OS X), mais ce fichier n'est pas traité lorsque vous utilisez -config
, donc votre fichier de configuration doit également inclure des bits DN. Ainsi, le référencé ci-dessus cert_config
pourrait ressembler à ceci:
[ 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
Comme indiqué dans le commentaire, vous pouvez probablement omettre la plupart des champs DN. Pour l'utilisation HTTPS, je pense que tout ce dont vous avez besoin est un CN qui correspond à votre nom d'hôte.
La section Distinguished Name and Attribute Section Format de req (1) montre comment vous pouvez modifier la configuration ci-dessus pour demander des valeurs (et fournir des valeurs par défaut) si vous souhaitez générer plusieurs certificats / demandes similaires.
Si vous avez besoin d'autres extensions de certificat, vérifiez
x509v3_config (5)
pour quels autres bits vous pouvez spécifier dans les sections d'extension.