El nombre alternativo del sujeto en la solicitud de firma de certificado aparentemente no sobrevive a la firma

0

Así que he podido crear una Solicitud de firma de certificado con un Nombre alternativo del sujeto del formulario subjectAltName=IP:1.2.3.4 siguiendo la receta en una respuesta anterior (espléndida).

Cuando inspecciono esa CSR con openssl req -in key.csr -text puedo ver una sección correspondiente:

Requested Extensions:
  X509v3 Subject Alternative Name: 
    IP Address:1.2.3.4

Luego procedo a firmar el CSR con una clave autofirmada, de este modo:

openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial \
  -in key.csr -out key.crt

El certificado resultante (cuando se inspecciona con openssl x509 -in key.crt -text ) ya no identifica esa sección.

¿Esto es solo un artefacto de los parámetros de visualización o necesito que también le pida a openssl x509 que incluya la extensión al momento de firmar (y si es así, cómo)?

Estoy usando OpenSSL en macOS High Sierra ( openssl version reports LibreSSL 2.2.7 ) y no he cambiado su configuración de los valores predeterminados. En última instancia, las claves se utilizarán entre los servidores Debian (Estirar), por lo que podría realizar la generación de claves allí, si es de ayuda en este contexto.

    
pregunta Drux 03.08.2018 - 11:28
fuente

1 respuesta

1

El siguiente comando aparentemente resuelve el problema:

openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial \
  -extensions SAN \
  -extfile <(cat /etc/ssl/openssl.cnf \
    <(printf "\n[SAN]\nsubjectAltName=IP:1.2.3.4")) \
  -in key.csr -out key.crt

Es la misma receta como para openssl req , pero con los dos parámetros extensions y extfile en lugar de reqexts y config .

Este comando fue útil para confirmar rápidamente el resultado deseado al imprimir la sección correspondiente:

openssl x509 -in key.crt -text | grep "Subject Alternative Name" -C 1
    
respondido por el Drux 03.08.2018 - 11:54
fuente

Lea otras preguntas en las etiquetas