Provided by: manpages-fr-extra_20151231_all bug

NOM

       X509_STORE_CTX_get_error, X509_STORE_CTX_set_error, X509_STORE_CTX_get_error_depth,
       X509_STORE_CTX_get_current_cert, X509_STORE_CTX_get1_chain, X509_verify_cert_error_string - Lire ou
       écrire les informations sur l'état de vérification du certificat

SYNOPSIS

        #include <openssl/x509.h>
        #include <openssl/x509_vfy.h>

        int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
        void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s);
        int  X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
        X509 *    X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);

        STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx);

        const char *X509_verify_cert_error_string(long n);

DESCRIPTION

       Ces fonctions sont généralement appelées après que X509_verify_cert() a indiqué une erreur ou dans un
       rappel de vérification pour déterminer la nature d'une erreur.

       X509_STORE_CTX_get_error() renvoie le code d'erreur de ctx , voir la section CODES D'ERREUR pour une
       description complète de tous les codes d'erreur.

       X509_STORE_CTX_set_error() définit le code d'erreur de ctx à s. Par exemple, il pourrait être utilisé
       dans un rappel de vérification pour définir une erreur basée sur des contrôles supplémentaires.

       X509_STORE_CTX_get_error_depth() renvoie la profondeur de l'erreur. Il s'agit d'un entier non négatif qui
       représente où apparaît l'erreur dans la chaîne du certificat. S'il est égal à zéro, elle s'est produite
       dans le certificat d'entité final, 1 si c'est le certificat qui a signé le certificat d'entité final, et
       ainsi de suite.

       X509_STORE_CTX_get_current_cert() renvoie le certificat qui a provoqué l'erreur dans ctx, ou NULL si
       aucun certificat n'est pertinent.

       X509_STORE_CTX_get1_chain() renvoie une chaîne de validation complète si un appel précédent à
       X509_verify_cert() est réussi. Si l'appel à X509_verify_cert() n'est pas réussi, la chaîne renvoyée peut
       être incomplète ou incorrecte. La chaîne renvoyée persiste après que la structure ctx est libérée ; quand
       elle n'est plus nécessaire, elle doit être libérée à l'aide de :

         sk_X509_pop_free(chain, X509_free);

       X509_verify_cert_error_string() renvoie une chaîne d'erreur lisible pour vérifier l'erreur n.

VALEURS DE RETOUR

       X509_STORE_CTX_get_error() renvoie X509_V_OK ou un code d'erreur.

       X509_STORE_CTX_get_error_depth() renvoie une profondeur d'erreur non-négative.

       X509_STORE_CTX_get_current_cert() renvoie le certificat qui a provoqué l'erreur ou NULL si aucun
       certificat n'est concerné par l'erreur.

       X509_verify_cert_error_string() renvoie une chaîne d'erreur lisible pour vérifier l'erreur n.

CODES D'ERREURS

       Une liste des codes et messages d'erreur est montrée ci-dessous. Certains codes d'erreur sont définis
       mais jamais renvoyés : ce sont ceux décrits comme « inutilisés ».

       X509_V_OK: ok
           L'opération a réussi.

       X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate
           Le  certificat  émetteur  est introuvable : cela arrive si le certificat émetteur d'un certificat qui
           n'est pas de confiance est introuvable.

       X509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate CRL
           La liste de révocations de certificat est introuvable.

       X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature
           La signature de certificat n'a pas pu être déchiffrée. Cela  signifie  que  la  valeur  de  signature
           réelle  n'a  pas pu être déterminée, plutôt qu'elle ne correspond pas à la valeur attendue ; ce n'est
           significatif que pour les clés RSA.

       X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's signature
           La signature de la liste de révocations de certificat n'a pas pu être déchiffrée : cela signifie  que
           la  valeur  de  signature  réelle  n'a  pas pu être déterminée, plutôt qu'elle ne correspond pas à la
           valeur attendue. Inutilisé.

       X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key
           La clé publique du certificat SubjectPublicKeyInfo n'a pas pu être lue.

       X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure
           La signature du certificat est incorrecte.

       X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure
           La signature du certificat est incorrecte.

       X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid
           Le certificat n'est pas encore valable : la date notBefore est après la date actuelle.

       X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired
           Le certificat a expiré : c'est parce que la date notAfter est avant la date actuelle.

       X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid
           La liste de révocations de certificat n'est pas encore valable.

       X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired
           La liste de révocations de certificat a expiré.

       X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field
           Le champ notBefore du certificat contient une date incorrecte.

       X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field
           Le champ notAfter du certificat contient une date incorrecte.

       X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's lastUpdate field
           Le champ lastUpdate de la liste de révocations de certificat contient une date incorrecte.

       X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's nextUpdate field
           Le champ nextUpdate de la liste de révocations de certificat contient une date incorrecte.

       X509_V_ERR_OUT_OF_MEM: out of memory
           Une erreur s'est produite en essayant d'allouer de la mémoire. Cela ne devrait jamais arriver.

       X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate
           Le certificat passé est autosigné et le même certificat est introuvable dans la liste des certificats
           de confiance.

       X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain
           La chaîne de certificats aurait pu être construite en utilisant des certificats qui ne  sont  pas  de
           confiance mais le certificat racine est introuvable localement.

       X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate
           Le   certificat  émetteur  d'un  certificat  recherché  localement  est  introuvable.  Cela  signifie
           normalement que la liste de certificats de confiance n'est pas complète.

       X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate
           Aucune signature n'a pu être vérifiée car la chaîne ne contient qu'un seul certificat et qu'il  n'est
           pas autosigné.

       X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long
           La  longueur  de  la  chaîne  de  certificats  est  plus  grande  que la profondeur maximale fournie.
           Inutilisé.

       X509_V_ERR_CERT_REVOKED: certificate revoked
           Le certificat a été révoqué.

       X509_V_ERR_INVALID_CA: invalid CA certificate
           Un certificat de l'autorité de certification est  incorrect.  Soit  ce  n'est  pas  une  autorité  de
           certification, soit ses extensions ne sont pas cohérentes avec la raison fournie.

       X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded
           Le paramètre de longueur de chemin basicConstraints a été dépassé.

       X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose
           Le certificat fourni n'a pas pu être utilisé pour la raison fournie.

       X509_V_ERR_CERT_UNTRUSTED: certificate not trusted
           Le  certificat  racine  de  l'autorité  de certification n'est pas marqué de confiance pour la raison
           fournie.

       X509_V_ERR_CERT_REJECTED: certificate rejected
           Le certificat racine de l'autorité de certification est marqué pour rejeter la raison fournie.

       X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch
           Le certificat émetteur candidat actuel a été rejeté car son nom de sujet ne correspondait pas au  nom
           d'émetteur  du  certificat  actuel.  Cela  est  affiché  seulement  quand  le débogage du contrôle de
           l'émetteur est activé et est utilisé pour la notification d'état. Ce n'est pas une erreur en soi.

       X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch
           Le certificat émetteur candidat actuel a été rejeté car son identifiant de clé de sujet était présent
           et ne correspondait pas à l'identifiant de clé d'autorité du  certificat  actuel.  Cela  est  affiché
           seulement  quand le débogage du contrôle de l'émetteur est activé et est utilisé pour la notification
           d'état. Ce n'est pas une erreur en soi.

       X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch
           Le certificat émetteur candidat actuel a été rejeté car son nom d'émetteur et  son  numéro  de  série
           étaient  présents  et  ne correspondaient pas à l'identifiant de clé d'autorité du certificat actuel.
           Cela est affiché seulement quand le débogage du contrôle de l'émetteur est activé et est utilisé pour
           la notification d'état. Ce n'est pas une erreur en soi.

       X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing
           Le certificat émetteur candidat actuel a été rejeté car son  extension  keyUsage  ne  permet  pas  la
           signature  de  certificat. Cela est affiché seulement quand le débogage du contrôle de l'émetteur est
           activé et est utilisé pour la notification d'état. Ce n'est pas une erreur en soi.

       X509_V_ERR_INVALID_EXTENSION: invalid or inconsistent certificate extension
           Une extension de certificat a une valeur non valide (par exemple un codage incorrect) ou  une  valeur
           incompatible avec d'autres extensions.

       X509_V_ERR_INVALID_POLICY_EXTENSION: invalid or inconsistent certificate policy extension
           Une  extension des politiques de certificat a une valeur non valide (par exemple un codage incorrect)
           ou une valeur incompatible avec d'autres  extensions.  Cette  erreur  se  produit  uniquement  si  le
           traitement de politique est activé.

       X509_V_ERR_NO_EXPLICIT_POLICY: no explicit policy
           Les  drapeaux  de  vérification  ont  été activés pour exiger et expliciter la politique, mais aucune
           n'était présente.

       X509_V_ERR_DIFFERENT_CRL_SCOPE: Different CRL scope
           Les seules CRL  qui  pourraient  être  trouvées  ne  correspondent  pas  au  champ  d'application  du
           certificat.

       X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: Unsupported extension feature
           Une caractéristique d’extension de liste de révocations de certificat est incorrecte. Inutilisé.

       X509_V_ERR_PERMITTED_VIOLATION: permitted subtree violation
           Une violation de la contrainte de nom s'est produite dans les sous-arbres autorisés.

       X509_V_ERR_EXCLUDED_VIOLATION: excluded subtree violation
           Une violation de la contrainte de nom s'est produite dans les sous-arbres exclus.

       X509_V_ERR_SUBTREE_MINMAX: name constraints minimum and maximum not supported
           Une  extension des contraintes de nom de certificat inclut un champ minimum ou maximum : ce n'est pas
           pris en charge.

       X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: unsupported name constraint type
           Un type de contrainte de nom non pris  en  charge  a  été  rencontré.  OpenSSL  ne  prend  en  charge
           actuellement que les types nom du répertoire, nom DNS, adresse courriel et URI.

       X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: unsupported or invalid name constraint syntax
           Le format de la contrainte de nom n'est pas reconnu : par exemple, un format d'adresse courriel d'une
           forme qui n'est pas mentionnée dans la RFC3280. Cela pourrait être causé par une extension vétuste ou
           une nouvelle fonction qui n'est pas prise en charge pour le moment.

       X509_V_ERR_CRL_PATH_VALIDATION_ERROR: CRL path validation error
           Une  erreur  s'est  produite  lors de la tentative pour vérifier le chemin de la CRL. Cette erreur ne
           peut se produire que si la vérification étendue de la liste de révocations de certificat est activée.

       X509_V_ERR_APPLICATION_VERIFICATION: application verification failure
           Erreur spécifique à une application. Ce ne sera jamais renvoyé à moins  d'être  explicitement  défini
           par une application.

NOTES

       Les  fonctions  ci-dessus  doivent  être  utilisées  au  lieu  de référencer directement les champs de la
       structure X509_VERIFY_CTX.

       Dans les versions d'OpenSSL avant 1.0, le certificat actuel renvoyé par X509_STORE_CTX_get_current_cert()
       n'est jamais  NULL.  Les  applications  doivent  vérifier  la  valeur  de  retour  avant  d'afficher  les
       informations de débogage concernant le certificat actuel.

       Si  un  code  d'erreur non reconnu est transmis à X509_verify_cert_error_string(), la valeur numérique du
       code inconnu est renvoyée dans une mémoire tampon statique. Ce n'est  pas  un  processus  sécurisé,  mais
       n'arrivera jamais sauf si un code non valide est passé.

VOIR AUSSI

       X509_verify_cert(3)

HISTORIQUE

       À préciser

TRADUCTION

       La  traduction  de  cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT
       lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de  bogue  sur  le
       paquet manpages-fr-extra.

1.0.2a 1.0.2c                                      2015-12-31         fr::crypto::X509_STORE_CTX_get_error(3SSL)