.\" 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::ssl::SSL_CTX_add1_chain_cert 3SSL" .TH fr::ssl::SSL_CTX_add1_chain_cert 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" SSL_CTX_set0_chain, SSL_CTX_set1_chain, SSL_CTX_add0_chain_cert, SSL_CTX_add1_chain_cert, SSL_CTX_get0_chain_certs, SSL_CTX_clear_chain_certs, SSL_set0_chain, SSL_set1_chain, SSL_add0_chain_cert, SSL_add1_chain_cert, SSL_get0_chain_certs, SSL_clear_chain_certs, SSL_CTX_build_cert_chain, SSL_build_cert_chain, SSL_CTX_select_current_cert, SSL_select_current_cert, SSL_CTX_set_current_cert, SSL_set_current_cert \- Traitement d'un certificat de chaîne supplémentaire .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& int SSL_CTX_set0_chain(SSL_CTX *ctx, STACK_OF(X509) *sk); \& int SSL_CTX_set1_chain(SSL_CTX *ctx, STACK_OF(X509) *sk); \& int SSL_CTX_add0_chain_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_CTX_add1_chain_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_CTX_get0_chain_certs(SSL_CTX *ctx, STACK_OF(X509) **sk); \& int SSL_CTX_clear_chain_certs(SSL_CTX *ctx); \& \& int SSL_set0_chain(SSL *ssl, STACK_OF(X509) *sk); \& int SSL_set1_chain(SSL *ssl, STACK_OF(X509) *sk); \& int SSL_add0_chain_cert(SSL *ssl, X509 *x509); \& int SSL_add1_chain_cert(SSL *ssl, X509 *x509); \& int SSL_get0_chain_certs(SSL *ssl, STACK_OF(X509) **sk); \& int SSL_clear_chain_certs(SSL *ssl); \& \& int SSL_CTX_build_cert_chain(SSL_CTX *ctx, flags); \& int SSL_build_cert_chain(SSL *ssl, flags); \& \& int SSL_CTX_select_current_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_select_current_cert(SSL *ssl, X509 *x509); \& int SSL_CTX_set_current_cert(SSL_CTX *ctx, long op); \& int SSL_set_current_cert(SSL *ssl, long op); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBSSL_CTX_set0_chain\fR() et \fBSSL_CTX_set1_chain\fR() définissent la chaîne de certificats associée au certificat actuel de \fIctx\fR à \fIsk\fR. .PP \&\fBSSL_CTX_add0_chain_cert\fR() et \fBSSL_CTX_add1_chain_cert\fR() ajoutent le certificat simple \fIx509\fR à la chaîne associée au certificat actuel de \&\fIctx\fR. .PP \&\fBSSL_CTX_get0_chain_certs\fR() récupère la chaîne associée au certificat actuel de \fIctx\fR. .PP \&\fBSSL_CTX_clear_chain_certs\fR() enlève toute chaîne existante associée au certificat actuel de \fIctx\fR. (Cela est implémenté en appelant \&\fBSSL_CTX_set0_chain\fR() avec \fIsk\fR défini à \s-1NULL\s0). .PP \&\fBSSL_CTX_build_cert_chain\fR() construit la chaîne de certificats pour \&\fIctx\fR ; normalement, c'est le stockage de chaîne qui est utilisé ou le magasin de vérification si le stockage de chaîne n'est pas défini. Si la fonction réussit, la chaîne construite remplacera toute chaîne existante. Le paramètre \fIflags\fR peut être défini à \fB\s-1SSL_BUILD_CHAIN_FLAG_UNTRUSTED\s0\fR pour utiliser des certificats de chaîne existants comme autorités de certification non fiables, \fB\s-1SSL_BUILD_CHAIN_FLAG_NO_ROOT\s0\fR pour omettre l'autorité de certification racine de la chaîne construite, \&\fB\s-1SSL_BUILD_CHAIN_FLAG_CHECK\s0\fR pour utiliser tous les certificats de chaîne existants seulement pour construire la chaîne (avec une vérification effective et en les réarrangeant si nécessaire), le réglage \&\fB\s-1SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR\s0\fR ignore toutes les erreurs durant la vérification : si le réglage \fB\s-1SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR\s0\fR est également défini, les erreurs de vérification sont retirées de la file d'erreurs. .PP Chacune de ces fonctions agit sur le certificat \fBactuel\fR de l'entité finale (c'est\-à\-dire le serveur ou le client). C'est le dernier certificat chargé ou sélectionné de la structure \fIctx\fR correspondante. .PP \&\fBSSL_CTX_select_current_cert\fR() sélectionne \fIx509\fR comme certificat de l'entité finale actuelle, mais seulement si \fIx509\fR a déjà été chargé dans \&\fIctx\fR en utilisant une fonction telle que \fBSSL_CTX_use_certificate\fR(). .PP \&\fISSL_set0_chain()\fR, \fISSL_set1_chain()\fR, \fISSL_add0_chain_cert()\fR, \&\fISSL_add1_chain_cert()\fR, \fISSL_get0_chain_certs()\fR, \fISSL_clear_chain_certs()\fR, \&\fISSL_build_cert_chain()\fR, \fISSL_select_current_cert()\fR et \fISSL_set_current_cert()\fR sont similaires sauf qu'elles s'appliquent à une structure \s-1SSL \s0\fIssl\fR. .PP \&\fBSSL_CTX_set_current_cert\fR() modifie le certificat actuel pour une valeur basée sur l'argument \fIop\fR. Actuellement \fIop\fRpeut être \&\fB\s-1SSL_CERT_SET_FIRST\s0\fR pour utiliser le premier certificat valable ou \&\fB\s-1SSL_CERT_SET_NEXT\s0\fR pour indiquer le premier certificat valable après le certificat actuel. Ces deux opérations peuvent être utilisées pour être exécutées sur tous les certificats d'une structure \fB\s-1SSL_CTX\s0\fR. .PP \&\fBSSL_set_current_cert\fR() prend en charge aussi l'option \&\fB\s-1SSL_CERT_SET_SERVER\s0\fR. Si \fIssl\fR est un serveur et qu'il a envoyé un certificat à un client connecté, cette option définit ce certificat au certificat actuel et renvoie \fB1\fR. Si l'ensemble de chiffrements est anonyme (et donc aucun certificat ne sera envoyé) \fB2\fR est renvoyé et le certificat actuel reste inchangé. Si \fIssl\fR n'est pas un serveur ou si aucun certificat n'a été envoyé, \fB0\fR est renvoyé et le certificat actuel reste inchangé. .PP Toutes ces fonctions sont implémentées comme des macros. Celles qui contiennent un \fB1\fR incrémentent le compteur de références du certificat ou de la chaîne fournis ; ils doivent être libérés à un certain moment après l'opération. Ceux qui contiennent un \fB0\fR n'incrémentent pas le compteur de références et le certificat ou la chaîne fournis \fB\s-1NE DOIVENT PAS\s0\fR être libérés après l'opération. .SH "NOTES" .IX Header "NOTES" Les chaînes associées à une structure \fB\s-1SSL_CTX\s0\fR sont copiées dans toutes structures \s-1SSL\s0 quand \fBSSL_new\fR() est appelée. Les structures \s-1SSL\s0 ne seront pas affectées par tout changement de chaîne survenu dans le \fB\s-1SSL_CTX\s0\fR parent. .PP Une chaîne peut être définie pour chaque type de clé pris en charge par un serveur. Donc, par exemple, des certificats \s-1RSA\s0 et \s-1DSA\s0 pourront avoir (et souvent auront) des chaînes différentes. .PP Les fonctions \fBSSL_CTX_build_cert_chain\fR() et \fBSSL_build_cert_chain\fR() peuvent être utilisées pour vérifier la configuration d'applications et pour s'assurer que toutes les autorités de certification subordonnées nécessaires sont envoyées dans le bon ordre. Les applications mal configurées envoyant des chaînes de certificats incorrectes provoquent souvent des problèmes avec les pairs. .PP Par exemple, une application peut ajouter n'importe quel ensemble de certificats en utilisant \fBSSL_CTX_use_certificate_chain_file\fR() puis appeler la fonction \fBSSL_CTX_build_cert_chain\fR() avec l'option \&\fB\s-1SSL_BUILD_CHAIN_FLAG_CHECK\s0\fR pour les vérifier et les réordonner. .PP Les applications peuvent émettre des avertissements non fatals quand elles vérifient les chaînes en passant le paramètre \&\fB\s-1SSL_BUILD_CHAIN_FLAG_IGNORE_ERRORS\s0\fR et en vérifiant la valeur de retour. .PP L'appel de \fBSSL_CTX_build_cert_chain\fR() ou de \fBSSL_build_cert_chain\fR() est plus efficace que la construction de chaîne automatique dans la mesure où il est effectué une seule fois. La construction de chaîne automatique est réalisée à chaque nouvelle session. .PP Si n'importe quels certificats sont ajoutés en utilisant ces fonctions, aucun certificat ajouté en utilisant \fBSSL_CTX_add_extra_chain_cert\fR() ne sera utilisé. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBSSL_set_current_cert\fR() avec \fB\s-1SSL_CERT_SET_SERVER\s0\fR renvoie \fB1\fR en cas de réussite, \fB2\fR si aucun certificat n'est utilisé parce que l'ensemble de chiffrements est anonyme, et \fB0\fR en cas d'échec. .PP \&\fBSSL_CTX_build_cert_chain\fR() et \fBSSL_build_cert_chain\fR() renvoient \fB1\fR en cas de réussite, et \fB0\fR en cas d'échec. Si le paramètre \&\fB\s-1SSL_BUILD_CHAIN_FLAG_IGNORE_ERRORS\s0\fR est passé et si une erreur de vérification survient, alors \fB2\fR est renvoyé. .PP Toutes les autres fonctions renvoient \fB1\fR en cas de réussite et \fB0\fR en cas d'échec. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBSSL_CTX_add_extra_chain_cert\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" Ces fonctions ont été ajoutées pour la première fois dans OpenSSL 1.0.2. .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.