.\" 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::DH_set_method 3SSL" .TH fr::crypto::DH_set_method 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" DH_set_default_method, DH_get_default_method, DH_set_method, DH_new_method, DH_OpenSSL \- Sélectionner la méthode \s-1DH\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& #include \& #include \& \& void DH_set_default_method(const DH_METHOD *meth); \& \& const DH_METHOD *DH_get_default_method(void); \& \& int DH_set_method(DH *dh, const DH_METHOD *meth); \& \& DH *DH_new_method(ENGINE *engine); \& \& const DH_METHOD *DH_OpenSSL(void); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Une \fB\s-1DH_METHOD\s0\fR indique les fonctions utilisées par OpenSSL pour les opérations Diffie-Hellman. En modifiant la méthode, les implémentations alternatives comme les accélérateurs matériels peuvent être utilisées. \fBImportant\fR : consultez la section \fB\s-1NOTES\s0\fR qui contient des renseignements importants sur la façon dont ces fonctions d'interface de programmation de \s-1DH\s0 sont affectées par l'utilisation des appels d'interfaces de programmation d'\fB\s-1ENGINE\s0\fR. .PP Au début, la \s-1DH_METHOD\s0 par défaut est l'implémentation interne d'OpenSSL, comme renvoyée par \fBDH_OpenSSL\fR(). .PP \&\fBDH_set_default_method\fR() fait de \fImeth\fR la méthode par défaut pour toutes les structures \s-1DH\s0 créées ensuite. \fBRemarque\fR : c'est seulement vrai tant qu'aucun \s-1ENGINE\s0 n'a été défini par défaut pour \s-1DH,\s0 donc cette fonction n'est plus recommandée. .PP \&\fBDH_get_default_method\fR() renvoie un pointeur vers la \s-1DH_METHOD\s0 actuelle par défaut. Cependant, ce résultat n'a de signification que si l'interface de programmation d'\s-1ENGINE\s0 n'est pas utilisée, donc cette fonction n'est plus recommandée. .PP \&\fBDH_set_method\fR() sélectionne \fImeth\fR pour réaliser toutes les opérations en utilisant la clef \fIdh\fR. Cela remplacera la \s-1DH_METHOD\s0 utilisée par la clef \s-1DH\s0 et, si la méthode précédente était fournie par un \s-1ENGINE,\s0 le traitement de cet \s-1ENGINE\s0 sera libéré pendant la modification. Des clefs \s-1DH\s0 pourraient ne fonctionner qu'avec certaines implémentations de \s-1DH_METHOD \&\s0(par exemple à partir d'un module \s-1ENGINE\s0 qui autorise les clefs embarquées protégées matériellement), et dans ce cas, tenter de modifier la \s-1DH_METHOD\s0 pour la clef peut avoir des résultats imprévisibles. .PP \&\fBDH_new_method\fR() alloue et initialise une structure \s-1DH\s0 de telle sorte que \&\fIengine\fR sera utilisé pour les opérations \s-1DH.\s0 Si \fIengine\fR est \s-1NULL,\s0 l'\s-1ENGINE\s0 par défaut pour les opérations \s-1DH\s0 est utilisé, et si aucun \s-1ENGINE\s0 par défaut n'est défini, la \s-1DH_METHOD\s0 contrôlée par \&\fBDH_set_default_method\fR() est utilisée. .SH "LA STRUCTURE DH_METHOD" .IX Header "LA STRUCTURE DH_METHOD" .Vb 4 \& typedef struct dh_meth_st \& { \& /* nom de l\*(Aqimplémentation */ \& const char *name; \& \& /* générer des valeurs DH publique et privée pour l\*(Aqéchange \& de clef */ \& int (*generate_key)(DH *dh); \& \& /* calculer le secret partagé */ \& int (*compute_key)(unsigned char *key, BIGNUM *pub_key, DH *dh); \& \& /* calculer r = a ^ p mod m \& (pourrait être NULL pour certaines implémentations) */ \& int (*bn_mod_exp)(DH *dh, BIGNUM *r, BIGNUM *a, const BIGNUM *p, \& const BIGNUM *m, BN_CTX *ctx, \& BN_MONT_CTX *m_ctx); \& \& /* appelé à DH_new */ \& int (*init)(DH *dh); \& \& /* appelé à DH_free */ \& int (*finish)(DH *dh); \& \& int flags; \& \& char *app_data; /* ? */ \& \& } DH_METHOD; .Ve .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBDH_OpenSSL\fR() et \fBDH_get_default_method\fR() renvoient des pointeurs vers les \fB\s-1DH_METHOD\s0\fRs respectives. .PP \&\fBDH_set_default_method\fR() ne renvoie pas de valeur. .PP \&\fBDH_set_method\fR() renvoie une valeur non nulle si la \fImeth\fR fournie a été correctement définie comme méthode pour \fIdh\fR (y compris le déchargement du traitement \s-1ENGINE\s0 si la méthode précédente a été fournie par un \s-1ENGINE\s0). .PP \&\fBDH_new_method\fR() renvoie \s-1NULL\s0 et définit un code d'erreur qui peut être obtenu par \fIERR_get_error\fR\|(3) si l'allocation échoue. Sinon, elle renvoie un pointeur vers la structure nouvellement allouée. .SH "NOTES" .IX Header "NOTES" Depuis la version 0.9.7, les implémentations \s-1DH_METHOD\s0 sont groupées avec les autres interfaces de programmation algorithmiques (par exemple \&\s-1RSA_METHOD, EVP_CIPHER,\s0 etc.) dans les modules \fB\s-1ENGINE\s0\fR. Si un \s-1ENGINE\s0 par défaut est indiqué pour les fonctionnalités \s-1DH\s0 en utilisant une fonction d'interface de programmation d'\s-1ENGINE,\s0 il écrasera toutes les valeurs \s-1DH\s0 par défaut définies en utilisant une interface de programmation de \s-1DH \&\s0(c'est\-à\-dire \fBDH_set_default_method\fR()). Par conséquent, l'interface de programmation d'\s-1ENGINE\s0 est la façon recommandée pour contrôler les implémentations par défaut à utiliser dans \s-1DH\s0 et les autres algorithmes cryptographiques. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIdh\fR\|(3), \fIDH_new\fR\|(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" \&\fBDH_set_default_method\fR(), \fBDH_get_default_method\fR(), \fBDH_set_method\fR(), \&\fBDH_new_method\fR() et \fBDH_OpenSSL\fR() ont été ajoutées dans OpenSSL 0.9.4. .PP \&\fBDH_set_default_openssl_method\fR() et \fBDH_get_default_openssl_method\fR() ont remplacé respectivement \fBDH_set_default_method\fR() et \&\fBDH_get_default_method\fR(), et \fBDH_set_method\fR() et \fBDH_new_method\fR() ont été modifiées pour utiliser des \fB\s-1ENGINE\s0\fR plutôt que des \fB\s-1DH_METHOD\s0\fR lors du développement de la version d'engine d'OpenSSL 0.9.6. Pour 0.9.7, le traitement des valeurs par défaut dans l'interface de programmation d'\s-1ENGINE\s0 a été restructuré pour que cette modification soit inversée, et que le comportement des autres fonctions ressemble plus au comportement précédent. Le comportement des valeurs par défaut de l'interface de programmation d'\s-1ENGINE\s0 écrase maintenant de façon transparente le comportement des valeurs par défaut de l'interface de programmation de \s-1DH\s0 sans nécessiter de modification de ces prototypes de fonction. .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.