Restricciones básicas de OpenSSL

4

He estado trabajando en el libro ' Planificación de PKI ' y he llegado a el punto donde quiero crear un certificado de entidad final. Sin embargo, me encuentro con un mensaje de error que indica que hay errores de extensión dentro del certificado. Mi maestro me ha guiado para observar detenidamente cómo se puede modificar la extensión de la restricción básica para solucionar este problema.

El libro recomienda el uso de la extensión Restricción básica en los certificados de entidades finales. Sin embargo, cuando simplemente lo elimino, de todos modos se inserta una extensión predeterminada de " CA:TRUE ".

Así que mis preguntas son:

  1. ¿Hay alguna forma de anular esta inserción automática o malentendí el libro?
  2. ¿Alguna idea sobre lo que puedo estar haciendo mal?

La siguiente es la extensión que he estado usando para crear el certificado:

[ server_ext ]
basicConstraints        = critical,CA:false
nsCertType              = server
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid,issuer:always
keyUsage                = critical,digitalSignature,keyEncipherment
extendedKeyUsage        = serverAuth
    
pregunta MPol 08.03.2017 - 15:13
fuente

2 respuestas

1

He logrado anular la funcionalidad predeterminada que incluía la restricción básica cuando faltaba en la extensión. Tenía que ver con el atributo de extensiones csr y copia en el archivo openssl.cnf.

    
respondido por el MPol 12.03.2017 - 10:40
fuente
0

Sospecho que las páginas de manual de openSSL podrían ser de alguna ayuda:

  

Si la extensión basicConstraints está ausente, se considera que el certificado es una "posible CA". Se verifican otras extensiones de acuerdo con el uso previsto del certificado. Se da una advertencia en este caso porque el certificado realmente no debe considerarse como una CA: sin embargo, se le permite ser una CA para solucionar algún software defectuoso.

es decir, el KeyUsage / ExtendedKeyUsage se usaría (parece) para adivinar.

Tomado de enlace , sección de Extensiones de Certificado.

Esto (para mí) parece ser diferente a lo que dice el libro de cocina openssl ( enlace ):

  

La extensión de restricciones básicas se usa para marcar certificados como pertenecientes a una CA, lo que les permite firmar otros certificados. Los certificados que no son de CA tendrán esta extensión omitida o tendrán el valor de CA establecido en FALSO. Esta extensión es fundamental, lo que significa que todos los certificados que consumen software deben comprender su significado.

Comprobando la página del manual para x509v3_config ( enlace - vea la sección de Extensiones estándar), una posible El problema es tu sintaxis.

Proporcionan lo siguiente como sus ejemplos:

basicConstraints=CA:TRUE

basicConstraints=CA:FALSE

basicConstraints=critical,CA:TRUE, pathlen:0

Proporcionan una forma adicional de lograr resultados similares:

basicConstraints=critical,@bs_section

[bs_section]

CA=true
pathlen=1

Simplemente enmendaría tu configuración para que se lea:

basicConstraints=CA:FALSE

En lugar de:

basicConstraints = critical,CA:false

De esta manera, su perfil es explícito, y debería anular cualquier otra configuración (posiblemente opuesta) que se aplique en otro lugar.

    
respondido por el iwaseatenbyagrue 08.03.2017 - 18:30
fuente

Lea otras preguntas en las etiquetas