.\" 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_use_certificate 3SSL" .TH fr::ssl::SSL_CTX_use_certificate 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_use_certificate, SSL_CTX_use_certificate_ASN1, SSL_CTX_use_certificate_file, SSL_use_certificate, SSL_use_certificate_ASN1, SSL_use_certificate_file, SSL_CTX_use_certificate_chain_file, SSL_CTX_use_PrivateKey, SSL_CTX_use_PrivateKey_ASN1, SSL_CTX_use_PrivateKey_file, SSL_CTX_use_RSAPrivateKey, SSL_CTX_use_RSAPrivateKey_ASN1, SSL_CTX_use_RSAPrivateKey_file, SSL_use_PrivateKey_file, SSL_use_PrivateKey_ASN1, SSL_use_PrivateKey, SSL_use_RSAPrivateKey, SSL_use_RSAPrivateKey_ASN1, SSL_use_RSAPrivateKey_file, SSL_CTX_check_private_key, SSL_check_private_key \&\- Charger les données de certificat et de clé .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); \& int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char *d); \& int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); \& int SSL_use_certificate(SSL *ssl, X509 *x); \& int SSL_use_certificate_ASN1(SSL *ssl, unsigned char *d, int len); \& int SSL_use_certificate_file(SSL *ssl, const char *file, int type); \& \& int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); \& \& int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); \& int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, unsigned char *d, \& long len); \& int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); \& int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); \& int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long len); \& int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); \& int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); \& int SSL_use_PrivateKey_ASN1(int pk,SSL *ssl, unsigned char *d, long len); \& int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); \& int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); \& int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); \& int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); \& \& int SSL_CTX_check_private_key(const SSL_CTX *ctx); \& int SSL_check_private_key(const SSL *ssl); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Ces fonctions chargent les certificats et les clés privés dans l'objet \&\fB\s-1SSL_CTX\s0\fR et l'objet \fB\s-1SSL\s0\fR, respectivement. .PP La classe de fonctions \fBSSL_CTX_*\fR charge les certificats et les clés dans l'objet \fB\s-1SSL_CTX\s0\fR, \fIctx\fR. L'information est passée aux objets \s-1SSL \s0\fIssl\fR créés à partir de \fIctx\fR avec \fBSSL_new\fR(3) par copie, ainsi les changements portés à \fIctx\fR ne se propagent pas à des objets \fB\s-1SSL\s0\fR déjà existants. .PP La classe de fonctions \fBSSL_*\fR charge seulement les certificats et les clés dans un objet \s-1SSL\s0 particulier. L'information particulière est conservée lorsque \fBSSL_clear\fR(3) est appelée pour cet objet \s-1SSL.\s0 .PP \&\fBSSL_CTX_use_certificate\fR() charge le certificat \fIx\fR dans \fIctx\fR, \&\fBSSL_use_certificate\fR() charge \fIx\fR dans \fIssl\fR. Le reste des certificats nécessaires pour former la chaîne complète de certificats peut être spécifié avec la fonction \&\fBSSL_CTX_add_extra_chain_cert\fR(3). .PP \&\fBSSL_CTX_use_certificate_ASN1\fR() charge le certificat codé en \s-1ASN1\s0 à partir de l'emplacement de mémoire \fId\fR (de longueur \fIlen\fR) dans \fIctx\fR, \&\fBSSL_use_certificate_ASN1\fR() charge le certificat codé en \s-1ASN1\s0 dans \fIssl\fR. .PP \&\fBSSL_CTX_use_certificate_file\fR() charge le premier certificat stocké dans \&\fIfile\fR dans \fIctx\fR. Le format \fItype\fR du certificat peut être précisé à partir des types connus \s-1SSL_FILETYPE_PEM, SSL_FILETYPE_ASN1. \s0\fBSSL_use_certificate_file\fR() charge le certificat de \&\fIfile\fR dans \fIssl\fR. Voir dans la partie \s-1NOTES\s0 pourquoi \&\fBSSL_CTX_use_certificate_chain_file\fR() devrait être préférée. .PP \&\fBSSL_CTX_use_certificate_chain_file\fR() charge une chaîne de certificats de \&\fIfile\fR dans \fIctx\fR. Les certificats peuvent être au format \s-1PEM\s0 et peuvent être triés d'abord en certificat du sujet (certificat du client ou du serveur réel), puis en certificats d'autorité de certification intermédiaires, le cas échéant, et pour finir en autorité de certification de plus haut niveau (racine). Il n'y a pas de fonction correspondante fonctionnant avec un objet \s-1SSL\s0 simple. .PP \&\fBSSL_CTX_use_PrivateKey\fR() ajoute \fIpkey\fR comme clé privée à \&\fIctx\fR. \fBSSL_CTX_use_RSAPrivateKey\fR() ajoute la clé privée \fIrsa\fR de type \&\s-1RSA\s0 à \fIctx\fR. \fBSSL_use_PrivateKey\fR() ajoute \fIpkey\fR comme clé privée à \&\fIssl\fR ; \fBSSL_use_RSAPrivateKey\fR() ajoute \fIrsa\fR comme clé privée de type \&\s-1RSA\s0 à \fIssl\fR. Si un certificat a déjà été configuré et que la clé privée n'appartient pas au certificat, une erreur est renvoyée. Pour changer un certificat, apparier la clé privée, le nouveau certificat doit être configuré avec \fBSSL_use_certificate\fR() ou \fBSSL_CTX_use_certificate\fR() avant de configurer la clé privée avec \fBSSL_CTX_use_PrivateKey\fR() ou \&\fBSSL_use_PrivateKey\fR(). .PP \&\fBSSL_CTX_use_PrivateKey_ASN1\fR() ajoute la clé privée de type \fIpk\fR stockée à l'emplacement de mémoire \fId\fR (de longueur \fIlen\fR) à \&\fIctx\fR. \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR() ajoute la clé privée de type \s-1RSA\s0 stockée à l'emplacement de mémoire \fId\fR (de longueur \fIlen\fR) à \&\fIctx\fR. \fBSSL_use_PrivateKey_ASN1\fR() et \fBSSL_use_RSAPrivateKey_ASN1\fR() ajoute la clé privée à \fIssl\fR. .PP \&\fBSSL_CTX_use_PrivateKey_file\fR() ajoute la première clé privée trouvée dans \&\fIfile\fR à \fIctx\fR. Le \fItype\fR du format du certificat doit être indiqué à partir des types connus \fB\s-1SSL_FILETYPE_PEM\s0\fR, \&\fB\s-1SSL_FILETYPE_ASN1\s0\fR.\fBSSL_CTX_use_RSAPrivateKey_file\fR() ajoute la première clé privée \s-1RSA\s0 trouvée dans \fIfile\fR à \fIctx\fR. \fBSSL_use_PrivateKey_file\fR() ajoute la première clé privée trouvée dans \fIfile\fR à \fIssl\fR ; \&\fBSSL_use_RSAPrivateKey_file\fR() ajoute la première clé privée \s-1RSA\s0 trouvée à \&\fIssl\fR. .PP \&\fBSSL_CTX_check_private_key\fR() vérifie la cohérence d'une clé privée avec le certificat correspondant chargé dans \fIctx\fR. Si plus d'une paire clé/certificat (\s-1RSA/DSA\s0) est installée, le dernier objet installé sera vérifié. Si, par exemple, le dernier objet est un certificat ou une clé \s-1RSA,\s0 la paire clé/certificat \s-1RSA\s0 sera vérifiée. \fBSSL_check_private_key\fR() exécute la même vérification pour \fIssl\fR. Si aucune clé ou certificat n'ont été explicitement ajoutés pour ce \fIssl\fR, le dernier objet ajouté dans \&\fIctx\fR sera vérifié. .SH "NOTES" .IX Header "NOTES" Le stockage de certificats interne d'OpenSSL peut garder plusieurs paires de clefs ou de certificats à la fois. Le certificat utilisé dépend du chiffrement choisi, Consultez aussi \&\fBSSL_CTX_set_cipher_list\fR(3). .PP Lors de la lecture des certificats et des clés privés à partir d'un fichier, les fichiers de type \fB\s-1SSL_FILETYPE_ASN1\s0\fR (connu aussi sous le nom \fB\s-1DER\s0\fR, codé en binaire) peuvent seulement contenir un certificat ou une clé privée, en conséquence \fBSSL_CTX_use_certificate_chain_file\fR() est seulement applicable au format \s-1PEM.\s0 Les fichiers de type \fB\s-1SSL_FILETYPE_PEM\s0\fR peuvent contenir plus d'un objet. .PP \&\fBSSL_CTX_use_certificate_chain_file\fR() ajoute le premier certificat trouvé dans le fichier au stockage de certificats. Les autres certificats sont ajoutés au stockage de certificats de chaîne utilisant \&\fBSSL_CTX_add_extra_chain_cert\fR(3). Note : les versions d'OpenSSL antérieures à 1.0.2 ont seulement un seul stockage de chaînes de certificats pour tous les types de certificat. OpenSSL 1.0.2 et suivantes ont un stockage de chaînes séparé pour chaque type. \fBSSL_CTX_use_certificate_chain_file\fR() devrait être utilisée plutôt que la fonction \fBSSL_CTX_use_certificate_file\fR() afin de permettre l'utilisation de chaînes complètes de certificats même quand un stockage d'autorités de certification non sûr est utilisé ou quand l'autorité de certification qui émet le certificat ne pourra pas être ajoutée au stockage d'autorités de certification de confiance. .PP Si des certificats supplémentaires sont nécessaires pour terminer la chaîne complète de certificats lors de la négociation \s-1TLS,\s0 des certificats d'autorité de certification sont aussi recherchés dans les emplacements des certificats d'autorité de certification de confiance, voir \&\fBSSL_CTX_load_verify_locations\fR(3). .PP Les clés privées chargées d'un fichier peuvent être chiffrées. Afin de charger avec succès des clés chiffrées, une fonction qui renvoie la phrase secrète peut avoir été fournie, voir \&\fBSSL_CTX_set_default_passwd_cb\fR(3). (Les fichiers de certificats pourraient aussi bien être chiffrés d'un point de vue technique, toutefois, ce n'est pas logique dans la mesure où les données contenues par le certificat sont considérées comme publiques de toute façon.) .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" En cas de réussite, les fonctions renvoient \fB1\fR. Vérifiez la pile d'erreur pour découvrir la raison de l'échec sinon. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBssl\fR(3), \fBSSL_new\fR(3), \&\fBSSL_clear\fR(3), \&\fBSSL_CTX_load_verify_locations\fR(3), \&\fBSSL_CTX_set_default_passwd_cb\fR(3), \&\fBSSL_CTX_set_cipher_list\fR(3), \&\fBSSL_CTX_set_client_cert_cb\fR(3), \&\fBSSL_CTX_add_extra_chain_cert\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" La gestion des clés privées à chiffrement \s-1DER \s0(\fB\s-1SSL_FILETYPE_ASN1\s0\fR) dans \&\fBSL_CTX_use_PrivateKey_file\fR() et \fBSSL_use_PrivateKey_file\fR() a été ajoutée dans la version 0.9.8 . .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.