.\" 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_check_host 3SSL" .TH fr::crypto::X509_check_host 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_check_host, X509_check_email, X509_check_ip, X509_check_ip_asc \- Correspondance de certificats X509 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include .Ve .PP \&\fB int X509_check_host(X509 *, const char *\fR\fIname\fR\fB, size_t \fR\fInamelen\fR\fB,\fR \fBunsigned int \fR\fIflags\fR\fB, char **\fR\fIpeername\fR\fB)\fR; \fBint X509_check_email(X509 *, const char *\fR\fIaddress\fR\fB, size_t \fR\fIaddresslen\fR\fB,\fR \fBunsigned int \fR\fIflags\fR\fB);\fR \fBint X509_check_ip(X509 *, const unsigned char *\fR\fIaddress\fR\fB, size_t \fR\fIaddresslen\fR\fB,\fR \fBunsigned int \fR\fIflags\fR\fB);\fR \fBint X509_check_ip_asc(X509 *, const char *\fR\fIaddress\fR\fB, unsigned int \fR\fIflags\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" Les fonctions de correspondance de certificats sont utilisées pour vérifier si un certificat correspond à un nom d'hôte, à une adresse courriel ou à une adresse \s-1IP.\s0 La validité du certificat et son niveau de confiance doivent être vérifiés par ailleurs. .PP \&\fBX509_check_host\fR() vérifie si le nom alternatif de sujet (\s-1SAN\s0) ou le nom commun du sujet (\s-1CN\s0) correspond au nom de domaine indiqué, encodé de préférence avec la syntaxe décrite dans la section 3.5 de la \s-1RFC 1034.\s0 Par défaut, les jokers sont acceptés et correspondent uniquement à la partie gauche de l'étiquette. Il peuvent cependant correspondre à une partie de l'étiquette qui aurait un préfixe ou un suffixe explicite. Par exemple, par défaut le nom de domaine \fIname\fR « www.example.com » correspondra à un certificat contenant le \s-1SAN\s0 ou le \s-1CN\s0 « *.example.com », « w*.example.com » ou « *w.example.com ». .PP Comme décrit dans la section 6.4.2 de la \s-1RFC 6125,\s0 les valeurs de \fIname\fR représentant des noms de domaines internationaux doivent être données sous la forme de A\-label. L'argument \fInamelen\fR doit être le nombre de caractères dans la chaîne du nom, ou zéro et dans ce cas la longueur est calculée avec \&\fBstrlen\fR(\fIname\fR). Lorsque \fIname\fR commence par un point, (comme dans « .example.com »), il correspondra à un certificat valable pour n'importe quel sous-domaine de \fIname\fR (voir aussi \&\fBX509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS\fR ci-dessous). .PP Si le certificat correspond et que \fIpeername\fR n'est pas \s-1NULL,\s0 un pointeur vers une copie du \s-1SAN\s0 ou \s-1CN\s0 correspondant du certificat du pair est stocké à l'adresse donnée dans \fIpeername\fR. L'application est responsable de la libération du \fIpeername\fR en utilisant \fBOPENSSL_free\fR() lorsque celui-ci n'est plus nécessaire. .PP \&\fBX509_check_email\fR() vérifie si le certificat correspond à l'adresse courriel indiquée dans \fIaddress\fR. Seule la syntaxe mailbox de la \s-1RFC 822\s0 est prise en charge, les commentaires ne sont pas autorisés, et les caractères entre guillemets ne sont pas normalisés. L'argument \fIaddresslen\fR doit être le nombre de caractères dans la chaîne de l'adresse, ou zéro et dans ce cas la longueur est calculée avec \fBstrlen\fR(\fIaddress\fR). .PP \&\fBX509_check_ip\fR() vérifie si le certificat correspond à l'adresse IPv4 ou IPv6 indiquée. Le tableau \fIaddress\fR est au format binaire, dans l'ordre des octets du réseau (\fInetwork byte order\fR, grand-boutiste). La longueur peut être 4 (IPv4) ou 6 (IPv6). Seules les adresses explicitement indiquées dans les certificats sont prises en compte ; les adresses \s-1IP\s0 enregistrées dans les noms \s-1DNS\s0 et \s-1CN\s0 sont ignorées. .PP \&\fBX509_check_ip_adsc\fR() est identique, sauf que la chaîne \fIaddress\fR terminée par un caractère \s-1NULL\s0 est d'abord convertie dans sa représentation interne. .PP L'argument \fIflags\fR est généralement \fB0\fR. Il peut être le \fB\s-1OU\s0\fR logique des drapeaux suivants : .IP "\fBX509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT\fR," 4 .IX Item "X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT," .PD 0 .IP "\fBX509_CHECK_FLAG_NO_WILDCARDS\fR," 4 .IX Item "X509_CHECK_FLAG_NO_WILDCARDS," .IP "\fBX509_CHECK_FLAG_NO_PARTIAL_WILDCARDS\fR," 4 .IX Item "X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS," .IP "\fBX509_CHECK_FLAG_MULTI_LABEL_WILDCARDS\fR." 4 .IX Item "X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS." .IP "\fBX509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS\fR." 4 .IX Item "X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS." .PD .PP Le drapeau \fBX509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT\fR force la fonction à utiliser le nom de domaine du sujet même si le certificat contient un nom alternatif de sujet correct (nom \s-1DNS\s0 ou adresse courriel) ; le comportement par défaut est d'ignorer le nom de domaine du sujet lorsqu'au moins un nom alternatif de sujet est présent. .PP Si défini, \fBX509_CHECK_FLAG_NO_WILDCARDS\fR désactive l'expansion des jokers ; cela ne s'applique qu'à la fonction \fBX509_check_host\fR. .PP Si défini, \fBX509_CHECK_FLAG_NO_PARTIAL_WILDCARDS\fR désactive la prise en charge de « * » comme joker dans les étiquettes qui ont un préfixe ou un suffixe, comme « www* » ou « *www » ; cela ne s'applique qu'à la fonction \&\fBX509_check_host\fR. .PP Si défini, \fBX509_CHECK_FLAG_MULTI_LABEL_WILDCARDS\fR autorise une « * » qui constitue une étiquette complète de nom \s-1DNS \s0(comme dans « *.example.com ») à correspondre à plus d'une étiquette de \fIname\fR ; cela ne s'applique qu'à la fonction \fBX509_check_host\fR. .PP Si défini, \fBX509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS\fR restreint les valeurs de \fIname\fR qui commencent par « . » et qui correspondraient à n'importe quel sous-domaine du certificat du pair, à correspondre uniquement aux sous-domaines enfants directs. Avec ce drapeau défini, un \fIname\fR défini à « .example.com » correspondra à un certificat contenant le nom \s-1DNS\s0 « www.example.com », mais pas « www.sub.example.com » ; cela ne s'applique qu'à la fonction \fBX509_check_host\fR. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" Les fonctions renvoient \fB1\fR en cas de correspondance, \fB0\fR s'il n'y en a pas, et \fB\-1\fR dans le cas d'une erreur interne : typiquement un échec d'allocation mémoire ou une erreur de décodage \s-1ASN.1.\s0 .PP Toutes les fonctions peuvent aussi renvoyer \fB\-2\fR si l'entrée est mal formée. Par exemple, \fBX509_check_host\fR() renvoie \fB\-2\fR si le \fIname\fR fourni contient des caractères \s-1NULL.\s0 .SH "NOTES" .IX Header "NOTES" Les applications sont encouragées à utiliser \&\fBX509_VERIFY_PARAM_set1_host\fR() plutôt que d'appeler \&\fBX509_check_host\fR(3). 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. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBSSL_get_verify_result\fR(3), \&\fBX509_VERIFY_PARAM_set1_host\fR(3), \&\fBX509_VERIFY_PARAM_add1_host\fR(3), \&\fBX509_VERIFY_PARAM_set1_email\fR(3), \&\fBX509_VERIFY_PARAM_set1_ip\fR(3), \&\fBX509_VERIFY_PARAM_set1_ipasc\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" Ces fonctions ont été ajoutées à OpenSSL 1.1.0. .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.