.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "fr::crypto::X509_VERIFY_PARAM_set_flags 3SSL" .TH fr::crypto::X509_VERIFY_PARAM_set_flags 3SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" X509_VERIFY_PARAM_set_flags, X509_VERIFY_PARAM_clear_flags, X509_VERIFY_PARAM_get_flags, X509_VERIFY_PARAM_set_purpose, X509_VERIFY_PARAM_set_trust, X509_VERIFY_PARAM_set_depth, X509_VERIFY_PARAM_get_depth, X509_VERIFY_PARAM_set_time, X509_VERIFY_PARAM_add0_policy, X509_VERIFY_PARAM_set1_policies, X509_VERIFY_PARAM_set1_host, X509_VERIFY_PARAM_add1_host, X509_VERIFY_PARAM_set_hostflags, X509_VERIFY_PARAM_get0_peername, X509_VERIFY_PARAM_set1_email, X509_VERIFY_PARAM_set1_ip, X509_VERIFY_PARAM_set1_ip_asc \- Paramètres de vérifications X509 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include .Ve .PP \&\fB int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, unsigned long\fR \fIdrapeaux\fR\fB);\fR \fBint X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBunsigned long\fR \fIdrapeaux\fR\fB);\fR \fBunsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *\fR\fIparam\fR\fB);\fR .PP \&\fB int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, int\fR \fIbut\fR\fB);\fR \fBint X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, int\fR \fIconfiance\fR\fB);\fR .PP \&\fB void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, time_t\fR \fIt\fR\fB);\fR .PP \&\fB int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fB\s-1ASN1_OBJECT\s0 *\fR\fIpolitique\fR\fB);\fR \fBint X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fB\s-1STACK_OF\s0(\s-1ASN1_OBJECT\s0) *\fR\fIpolitiques\fR\fB);\fR .PP \&\fB void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, int\fR \fIprofondeur\fR\fB);\fR \fBint X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *\fR\fIparam\fR\fB);\fR .PP \&\fB int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBconst char *\fR\fIname\fR\fB, size_t \fR\fInamelen\fR\fB);\fR \fBint X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBconst char *\fR\fIname\fR\fB, size_t \fR\fInamelen\fR\fB);\fR \fBvoid X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBunsigned int \fR\fIflags\fR\fB);\fR \fBchar *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *\fR\fIparam\fR\fB);\fR \fBint X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBconst char *\fR\fIemail\fR\fB, size_t \fR\fIemaillen\fR\fB);\fR \fBint X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *\fR\fIparam\fR\fB,\fR \fBconst unsigned char *\fR\fIip\fR\fB, size_t \fR\fIiplen\fR\fB);\fR \fBint X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *\fR\fIparam\fR\fB, const char *\fR\fIipasc\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" Ces fonctions manipulent la structure \fBX509_VERIFY_PARAM\fR associée à une opération de vérification du certificat. .PP La fonction \fBX509_VERIFY_PARAM_set_flags\fR() définit les drapeaux de \&\fIparam\fR en les comparant par \s-1OU\s0 logique avec \fIdrapeaux\fR. Voir la section \&\fB\s-1DRAPEAUX DE\s0 VÉRIFICATION\fR pour une description complète des valeurs que le paramètre \fIdrapeaux\fR peut prendre. .PP \&\fBX509_VERIFY_PARAM_get_flags\fR() renvoie les drapeaux dans \fIparam\fR. .PP \&\fBX509_VERIFY_PARAM_clear_flags\fR() efface les drapeaux \fIdrapeaux\fR dans \&\fIparam\fR. .PP \&\fBX509_VERIFY_PARAM_set_purpose\fR() fixe l'objectif de vérification de \&\fIparam\fR à \fIbut\fR. Cela détermine le but acceptable de la chaîne de certificats, par exemple pour un client ou un serveur \s-1SSL.\s0 .PP \&\fBX509_VERIFY_PARAM_set_trust\fR() définit le paramètre de confiance de \&\fIparam\fR à \fIconfiance\fR. .PP \&\fBX509_VERIFY_PARAM_set_time\fR() fixe le moment de vérification de \fIparam\fR à \&\fIt\fR. Normalement, l'heure actuelle est utilisée. .PP \&\fBX509_VERIFY_PARAM_add0_policy\fR() permet le contrôle de la politique (elle est désactivée par défaut) et ajoute \fIpolitique\fR à l'ensemble des politiques acceptables. .PP \&\fBX509_VERIFY_PARAM_set1_policies\fR() permet la vérification de politique (elle est désactivée par défaut) et définit l'ensemble des politiques à \&\fIpolitiques\fR. Toutes les politiques existantes sont effacées. Le paramètre \&\fIpolitiques\fR peut être \s-1NULL\s0 pour effacer un ensemble de règles existant. .PP \&\fBX509_VERIFY_PARAM_set_depth\fR() définit la profondeur de vérification maximum à \fIprofondeur\fR. C'est le nombre maximal de certificats de \s-1CA\s0 non fiables qui peuvent apparaître dans une chaîne. .PP \&\fBX509_VERIFY_PARAM_set1_host\fR() définit le nom de domaine \s-1DNS\s0 à \fIname\fR en effaçant les valeurs indiquées auparavant. Si \fIname\fR est \s-1NULL\s0 ou vide, la liste des noms de domaine est effacée et les vérifications des noms ne sont pas effectuées sur le certificat du pair. Si \fIname\fR est une chaîne terminée par \s-1NULL, \s0\fInamelen\fR peut être zéro, autrement \fInamelen\fR doit être défini à la longueur de \fIname\fR. Lorsqu'un nom de domaine est indiqué, la vérification du certificat appelle la fonction \fBX509_check_host\fR(3) avec les drapeaux définis par l'argument \fIflags\fR donné à la fonction \&\fBX509_VERIFY_PARAM_set_hostflags\fR() (\fB0\fR par défaut). Les applications sont vivement encouragées à utiliser cette interface plutôt que d'appeler directement \fBX509_check_host\fR(3) car les vérifications de noms de domaine ne sont plus requises avec l'utilisation des certificats \s-1\fIDANE\-EE\s0\fR\|(3), et les vérifications internes seront supprimées lorsque la prise en charge de \s-1DANE\s0 sera ajoutée à OpenSSL. .PP \&\fBX509_VERIFY_PARAM_add1_host\fR() ajoute \fIname\fR comme identifiant de référence supplémentaire qui peut correspondre au certificat du pair. Les valeurs précédentes de \fIname\fR définies avec \&\fBX509_VERIFY_PARAM_set1_host\fR() ou \fBX509_VERIFY_PARAM_add1_host\fR() sont conservées, et aucun changement n'est effectué si \fIname\fR est \s-1NULL\s0 ou vide. Si plusieurs noms sont définis, le pair est considéré correspondant si au moins une des valeurs correspond. .PP \&\fBX509_VERIFY_PARAM_get0_peername\fR() renvoie le nom de domaine \s-1DNS\s0 ou le nom commun du sujet du certificat du pair qui correspond à un des identifiants de référence. Si la correspondance par joker n'est pas désactivée, ou si un identifiant de référence indique un domaine parent (qui commence par « . ») plutôt qu'un nom de domaine, alors le nom du pair peut être respectivement un joker ou un sous-domaine de l'identifiant de référence. La chaîne de retour est allouée par la bibliothèque et n'est plus vide une fois que l'argument \fIparam\fR associé est libéré. Les applications ne doivent pas libérer la valeur de retour. .PP \&\fBX509_VERIFY_PARAM_set1_email\fR() définit l'adresse courriel, au format de la \s-1RFC 822,\s0 à \fIemail\fR. Si \fIemail\fR est une chaîne terminée par un caractère \&\s-1NULL, \s0\fIemaillen\fR peut être zéro, sinon \fIemaillen\fR doit être défini à la longueur de la chaîne \fIemail\fR. Si une adresse courriel est indiquée, la vérification du certificat appelle \fBX509_check_email\fR(3). .PP \&\fBX509_VERIFY_PARAM_set1_ip\fR() définit l'adresse \s-1IP\s0 à \fIip\fR. L'argument \&\fIip\fR est au format binaire, dans l'ordre des octets du réseau et \fIiplen\fR doit être défini à \fB4\fR pour IPv4 et \fB16\fR pour IPv6. Si une adresse \s-1IP\s0 est indiquée, la vérification du certificat appelle \fBX509_check_ip\fR(3). .PP \&\fBX509_VERIFY_PARAM_set1_ip_asc\fR() définit l'adresse \s-1IP\s0 à \&\fIipasc\fR. L'argument \fIipasc\fR est une chaîne terminée par le caractère \&\s-1NULL :\s0 quatre nombre décimaux séparés par des points pour IPv4, et huit hexadécimaux séparés par des deux-points pour IPv6. La notation abrégée « :: » est acceptée pour les adresses IPv6. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBX509_VERIFY_PARAM_set_flags\fR(), \fBX509_VERIFY_PARAM_clear_flags\fR(), \&\fBX509_VERIFY_PARAM_set_purpose\fR(), \fBX509_VERIFY_PARAM_set_trust\fR(), \&\fBX509_VERIFY_PARAM_add0_policy\fR() \fBX509_VERIFY_PARAM_set1_policies\fR(), \&\fBX509_VERIFY_PARAM_set1_host\fR(), \fBX509_VERIFY_PARAM_set_hostflags\fR(), \&\fBX509_VERIFY_PARAM_set1_email\fR(), \fBX509_VERIFY_PARAM_set1_ip\fR() et \&\fBX509_VERIFY_PARAM_set1_ip_asc\fR() renvoient \fB1\fR si elles réussissent ou \&\fB0\fR en cas d’échec. .PP \&\fBX509_VERIFY_PARAM_get_flags\fR() renvoie les drapeaux de vérification actuels. .PP \&\fBX509_VERIFY_PARAM_set_time\fR() et \fBX509_VERIFY_PARAM_set_depth\fR() ne renvoient pas de valeurs. .PP \&\fBX509_VERIFY_PARAM_get_depth\fR() renvoie la profondeur de vérification en cours. .SH "DRAPEAUX DE VÉRIFICATION" .IX Header "DRAPEAUX DE VÉRIFICATION" Les drapeaux de vérification se composent de zéro ou plusieurs des drapeaux disjonctifs (chaînage \s-1OU\s0 logique). .PP \&\fBX509_V_FLAG_CRL_CHECK\fR permet la vérification de la \s-1CRL\s0 pour la chaîne de certificats terminale. Une erreur se produit si une \s-1CRL\s0 appropriée ne peut être trouvée. .PP \&\fBX509_V_FLAG_CRL_CHECK_ALL\fR permet la vérification de la \s-1CRL\s0 pour l'ensemble de la chaîne de certificats. .PP \&\fBX509_V_FLAG_IGNORE_CRITICAL\fR désactive le contrôle d'extension critique. Par défaut, des extensions critiques non prises en charge dans les certificats ou les \s-1CRL \s0(si vérifiées) conduisent à une erreur fatale. Si ce drapeau est activé, les extensions critiques non prises en charge sont ignorées. \fB\s-1AVERTISSEMENT\s0\fR : paramétrer cette option pour autre chose que pour le débogage peut être un risque de sécurité. Un contrôle plus fin des extensions prises en charge peut être réalisé dans le rappel de vérification. .PP Le drapeau \fBX509_V_FLAG_X509_STRICT\fR désactive les contournements pour les certificats cassés et impose à la vérification d'appliquer strictement les règles \fBX509\fR. .PP \&\fBX509_V_FLAG_ALLOW_PROXY_CERTS\fR permet la vérification du certificat proxy. .PP \&\fBX509_V_FLAG_POLICY_CHECK\fR permet la vérification de politique de certificat, par défaut aucun contrôle de la politique n'est réalisé. Des informations supplémentaires sont envoyées au rappel de vérification relatif au contrôle des politiques. .PP \&\fBX509_V_FLAG_EXPLICIT_POLICY\fR, \fBX509_V_FLAG_INHIBIT_ANY\fR et \&\fBX509_V_FLAG_INHIBIT_MAP\fR activent respectivement les drapeaux \fIrequire explicit policy\fR, \fIinhibit any policy\fR et \fIinhibit policy mapping\fR, tels que définis dans la \s-1RFC3280.\s0 Le contrôle de la politique est automatiquement activé si l'un de ces drapeaux est activé. .PP Si \fBX509_V_FLAG_NOTIFY_POLICY\fR est activé et le contrôle de la politique est un succès, un code d'état spécifique est activé sur la fonction de rappel de vérification. Cela lui permet d'examiner l'arbre de politique valable et d'effectuer des contrôles supplémentaires, ou tout simplement l'enregistrer à des fins de débogage. .PP Par défaut, certaines fonctionnalités supplémentaires telles que les \s-1CRL\s0 indirectes et les \s-1CRL\s0 signées par différentes clés sont désactivées. Si \&\fBX509_V_FLAG_EXTENDED_CRL_SUPPORT\fR est activé, elles sont activées. .PP Si \fBX509_V_FLAG_USE_DELTAS\fR est activé, les deltas de \s-1CRL \s0(le cas échéant) sont utilisés pour déterminer le statut du certificat. Sinon, les deltas sont ignorés. .PP B permet un contrôle de la signature du certificat autosigné de la \s-1CA\s0 racine. Par défaut, cette vérification est désactivée car elle n'ajoute pas de sécurité supplémentaire, mais dans certains cas, les applications pourraient vouloir vérifier la signature de toute façon. Un effet secondaire de l'absence de vérification de la signature de la \s-1CA\s0 racine est que les condensés de message non pris en charge ou désactivés de la \s-1CA\s0 racine ne sont pas traités comme des erreurs fatales. .PP Le drapeau \fBX509_V_FLAG_CB_ISSUER_CHECK\fR permet le débogage du contrôle de certificat de l'émetteur. Il n'est \fBpas\fR nécessaire à moins que vous n'enregistriez la vérification du certificat. Si cette option est activée, des codes d'état supplémentaires seront envoyés au rappel de vérification qui \fBdoit\fR être prêt à traiter de tels cas sans supposer que ce sont des erreurs. .PP Le drapeau \fBX509_V_FLAG_NO_ALT_CHAINS\fR désactive la vérification des chaînes alternatives. Par défaut, lors de la construction d'une chaîne de certificats, si la première chaîne trouvée n'est pas de confiance, OpenSSL continuera à chercher si une autre chaîne de confiance existe. Avec ce drapeau, le comportement sera celui des versions de OpenSSL antérieures à 1.0.2b. .SH "NOTES" .IX Header "NOTES" Les fonctions ci-dessus doivent être utilisées pour manipuler les paramètres de vérification au lieu des fonctions traditionnelles qui travaillent dans des structures spécifiques, telles que \fBX509_STORE_CTX_set_flags\fR(). .SH "BOGUES" .IX Header "BOGUES" La vérification des delta de la \s-1CRL\s0 est actuellement simpliste. Un seul delta peut être utilisé et (en partie en raison des limitations de \&\fBX509_STORE\fR) les \s-1CRL\s0 construites ne sont pas maintenues. .PP Si la vérification des \s-1CRL\s0 est activée, les \s-1CRL\s0 devraient être disponibles dans la structure \fBX509_STORE\fR correspondante. Aucune tentative n'est faite pour télécharger des \s-1CRL\s0 depuis l'extension des points de distribution. .SH "EXEMPLE" .IX Header "EXEMPLE" Activer la vérification de la \s-1CRL\s0 lors de la vérification du certificat pendant des connexions \s-1SSL\s0 associées à une structure \fIctx\fR \fB\s-1SSL_CTX\s0\fR : .PP .Vb 5 \& X509_VERIFY_PARAM *param; \& param = X509_VERIFY_PARAM_new(); \& X509_VERIFY_PARAM_set_flags(param, X509_V_FLAG_CRL_CHECK); \& SSL_CTX_set1_param(ctx, param); \& X509_VERIFY_PARAM_free(param); .Ve .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBX509_verify_cert\fR(3), \&\fBX509_check_host\fR(3), \&\fBX509_check_email\fR(3), \&\fBX509_check_ip\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" Le drapeau \fBX509_V_FLAG_NO_ALT_CHAINS\fR a été ajouté dans OpenSSL 1.0.2b .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.