Aller au contenu
ecdsa.com
OpenSSL 3.x CLI (openssl s_client / openssl verify)CLI OpenSSL

Message d’erreur

verify error:num=79:invalid CA certificate

Également affiché sous la forme

  • error 79 at 1 depth lookup: invalid CA certificate

OpenSSL 3.0.13 et 3.5.7 signalent tous deux ce cas comme l’erreur 79 (des références plus anciennes rangent « invalid CA certificate » sous l’erreur 24, un code qui existe toujours pour d’autres contrôles d’AC). s_client affiche aussi l’erreur 26, « unsuitable certificate purpose », pour le même certificat, et sa ligne récapitulative indique ce dernier code.

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

Ce que cela signifie

Erreur OpenSSL 79 (X509_V_ERR_INVALID_CA) : un certificat qui occupe une position d’émetteur dans la chaîne n’est pas un certificat d’AC valide ; ses basicConstraints indiquent CA:FALSE ou sont absentes, ou son keyUsage n’autorise pas la signature de certificats. La profondeur indiquée dans le message d’openssl verify désigne le certificat fautif (1 correspond au premier certificat intermédiaire).

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Inspecter le certificat à la profondeur signalée

    Les basicConstraints doivent indiquer CA:TRUE (extension marquée critique) et le keyUsage doit inclure 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.

    Réémettre le certificat intermédiaire comme AC

    Signez-le de nouveau avec les extensions d’AC ; les certificats qu’il a émis restent valides si la clé et le sujet ne changent pas.

    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

Erreurs associées

Parcourir toute la base de données des erreurs de signature