Scroll to navigation

fr::crypto::X509_STORE_CTX_get_error(3SSL) OpenSSL fr::crypto::X509_STORE_CTX_get_error(3SSL)

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 ».

L'opération a réussi.
Le certificat émetteur est introuvable : cela arrive si le certificat émetteur d'un certificat qui n'est pas de confiance est introuvable.
La liste de révocations de certificat est introuvable.
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.
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é.
La clé publique du certificat SubjectPublicKeyInfo n'a pas pu être lue.
La signature du certificat est incorrecte.
La signature du certificat est incorrecte.
Le certificat n'est pas encore valable : la date notBefore est après la date actuelle.
Le certificat a expiré : c'est parce que la date notAfter est avant la date actuelle.
La liste de révocations de certificat n'est pas encore valable.
La liste de révocations de certificat a expiré.
Le champ notBefore du certificat contient une date incorrecte.
Le champ notAfter du certificat contient une date incorrecte.
Le champ lastUpdate de la liste de révocations de certificat contient une date incorrecte.
Le champ nextUpdate de la liste de révocations de certificat contient une date incorrecte.
Une erreur s'est produite en essayant d'allouer de la mémoire. Cela ne devrait jamais arriver.
Le certificat passé est autosigné et le même certificat est introuvable dans la liste des certificats de confiance.
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.
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.
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é.
La longueur de la chaîne de certificats est plus grande que la profondeur maximale fournie. Inutilisé.
Le certificat a été révoqué.
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.
Le paramètre de longueur de chemin basicConstraints a été dépassé.
Le certificat fourni n'a pas pu être utilisé pour la raison fournie.
Le certificat racine de l'autorité de certification n'est pas marqué de confiance pour la raison fournie.
Le certificat racine de l'autorité de certification est marqué pour rejeter la raison fournie.
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.
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.
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.
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.
Une extension de certificat a une valeur non valide (par exemple un codage incorrect) ou une valeur incompatible avec d'autres extensions.
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é.
Les drapeaux de vérification ont été activés pour exiger et expliciter la politique, mais aucune n'était présente.
Les seules CRL qui pourraient être trouvées ne correspondent pas au champ d'application du certificat.
Une caractéristique d’extension de liste de révocations de certificat est incorrecte. Inutilisé.
Une violation de la contrainte de nom s'est produite dans les sous-arbres autorisés.
Une violation de la contrainte de nom s'est produite dans les sous-arbres exclus.
Une extension des contraintes de nom de certificat inclut un champ minimum ou maximum : ce n'est pas pris en charge.
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.
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.
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.
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.

2015-12-31 1.0.2a 1.0.2c