Saltar al contenido
ecdsa.com
OpenSSL 3.x CLI (openssl s_client / openssl verify)CLI de OpenSSL

Mensaje de error

verify error:num=79:invalid CA certificate

También se muestra como

  • error 79 at 1 depth lookup: invalid CA certificate

Tanto OpenSSL 3.0.13 como 3.5.7 notifican este caso como error 79 (las referencias más antiguas recogen «invalid CA certificate» como error 24, que sigue existiendo para otras comprobaciones de CA). s_client también imprime el error 26, «unsuitable certificate purpose», para el mismo certificado, y la línea de su informe final muestra ese último código.

OpenSSL 3.x CLI (openssl s_client / openssl verify) — X509_V_ERR_INVALID_CA

Qué significa

Error 79 de OpenSSL (X509_V_ERR_INVALID_CA): un certificado que ocupa una posición de emisor en la cadena no es un certificado de CA válido: su basicConstraints dice CA:FALSE o no existe, o su keyUsage no permite firmar certificados. La profundidad del mensaje de openssl verify señala el certificado problemático (1 es el primer intermedio).

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Inspeccionar el certificado de la profundidad indicada

    basicConstraints debe ser CA:TRUE (crítica) y keyUsage debe incluir keyCertSign.

    bash
    # The certificate at the depth named in the error must be a CA
    openssl x509 -in int.pem -noout -subject -ext basicConstraints,keyUsage
  2. 2.

    Volver a emitir el intermedio como CA

    Vuelve a firmarlo con extensiones de CA; los certificados que emitió siguen siendo válidos si la clave y el sujeto no cambian.

    bash
    printf 'basicConstraints=critical,CA:TRUE,pathlen:0\nkeyUsage=critical,keyCertSign,cRLSign\n' > ca.ext
    openssl x509 -req -in int.csr -CA root.pem -CAkey root.key -days 1825 -extfile ca.ext -out int.pem

Errores relacionados

Explorar toda la base de datos de errores de firma