Mientras openssl x509
usa -extfile
, el comando que está usando openssl req
necesita -config
especificar el archivo de configuración.
Entonces, puede usar un comando como este:
openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
-days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
Las solicitudes habituales para los bits de nombre distinguido se definen en el archivo de configuración predeterminado (que probablemente esté /System/Library/OpenSSL/openssl.cnf
en OS X), pero este archivo no se procesa cuando lo usa -config
, por lo que su archivo de configuración también debe incluir algunos bits de DN. Por lo tanto, lo mencionado anteriormente cert_config
podría verse así:
[ 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
Como se indica en el comentario, probablemente pueda omitir la mayoría de los campos de DN. Para el uso de HTTPS, creo que todo lo que necesita es un CN que coincida con su nombre de host.
La sección Formato de sección de nombre distinguido y atributo de req (1) muestra cómo puede modificar la configuración anterior para solicitar valores (y proporcionar valores predeterminados) si desea generar múltiples certificados / solicitudes similares.
Si necesita otras extensiones de certificado, verifique
x509v3_config (5)
para ver qué otros bits puede especificar en las secciones de extensión.