Estoy tratando de generar un certificado autofirmado con OpenSSL con SubjectAltName en él. Mientras estoy generando el csr para el certificado, creo que tengo que usar extensiones v3 de OpenSSL x509. Estoy usando :
openssl req -new -x509 -v3 -key private.key -out certificate.pem -days 730
¿Alguien puede ayudarme con la sintaxis exacta?
ssl
openssl
ssl-certificate
x509certificate
x509
mohanjot
fuente
fuente

Respuestas:
Es un proceso de tres pasos e implica modificar el
openssl.cnfarchivo. Es posible que pueda hacerlo solo con opciones de línea de comando, pero yo no lo hago de esa manera.Encuentra tu
openssl.cnfarchivo. Probablemente esté ubicado en/usr/lib/ssl/openssl.cnf:En mi sistema Debian ,
/usr/lib/ssl/openssl.cnfes usado por el programa integradoopenssl. En sistemas Debian recientes se encuentra en/etc/ssl/openssl.cnfPuede determinar cuál
openssl.cnfse está utilizando agregando unXXXarchivo falso y ver si seopensslahoga.Primero, modifique los
reqparámetros. Agregue unaalternate_namessecciónopenssl.cnfcon los nombres que desea usar. No hayalternate_namessecciones existentes , por lo que no importa dónde lo agregue.A continuación, agregue lo siguiente a la sección existente
[ v3_ca ]. Busque la cadena exacta[ v3_ca ]:Puede cambiar
keyUsagea lo siguiente en[ v3_ca ]:digitalSignatureykeyEnciphermentson tarifa estándar para un certificado de servidor. No se preocupenonRepudiation. Es una parte inútil ideada por chicos / chicas informáticos que querían ser abogados. No significa nada en el mundo legal.Al final, el IETF ( RFC 5280 ), los navegadores y las CA se ejecutan de forma rápida y flexible, por lo que probablemente no importa qué uso de clave proporcione.
En segundo lugar, modifique los parámetros de firma. Encuentre esta línea en la
CA_defaultsección:Y cámbielo a:
Esto asegura que las SAN se copien en el certificado. Las otras formas de copiar los nombres DNS están rotas.
En tercer lugar, genere su certificado autofirmado:
Finalmente, examine el certificado:
fuente
openssl genrsa -out cert.key 3072 -nodesopenssl req -new -x509 -key cert.key -sha256 -config openssl.cnf -out cert.crt -days 730 -subj "/C=US/ST=private/L=province/O=city/CN=hostname.example.com"subjectAltName=$ENV::ALTNAME(y establezca env. VarALTNAME=DNS:example.com,DNS:other.example.net).IPlugar deDNSforalternate_namessi está trabajando con una dirección IP. También puede copiar el archivo de configuración localmente y luego especificarlo en la línea de comando openssl con-config my_config.cnf. Y puede que tengas que descomentarreq_extensions = v3_req.