Provided by: manpages-fr-extra_20151231_all bug

NOM

       DH_set_default_method, DH_get_default_method, DH_set_method, DH_new_method, DH_OpenSSL -
       Sélectionner la méthode DH

SYNOPSIS

        #include <openssl/dh.h>
        #include <openssl/engine.h>

        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);

DESCRIPTION

       Une DH_METHOD 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. Important : consultez la section NOTES qui contient des
       renseignements importants sur la façon dont ces fonctions d'interface de programmation de
       DH sont affectées par l'utilisation des appels d'interfaces de programmation d'ENGINE.

       Au début, la DH_METHOD par défaut est l'implémentation interne d'OpenSSL, comme renvoyée
       par DH_OpenSSL().

       DH_set_default_method() fait de meth la méthode par défaut pour toutes les structures DH
       créées ensuite. Remarque : c'est seulement vrai tant qu'aucun ENGINE n'a été défini par
       défaut pour DH, donc cette fonction n'est plus recommandée.

       DH_get_default_method() renvoie un pointeur vers la DH_METHOD actuelle par défaut.
       Cependant, ce résultat n'a de signification que si l'interface de programmation d'ENGINE
       n'est pas utilisée, donc cette fonction n'est plus recommandée.

       DH_set_method() sélectionne meth pour réaliser toutes les opérations en utilisant la clef
       dh. Cela remplacera la DH_METHOD utilisée par la clef DH et, si la méthode précédente
       était fournie par un ENGINE, le traitement de cet ENGINE sera libéré pendant la
       modification. Des clefs DH pourraient ne fonctionner qu'avec certaines implémentations de
       DH_METHOD (par exemple à partir d'un module ENGINE qui autorise les clefs embarquées
       protégées matériellement), et dans ce cas, tenter de modifier la DH_METHOD pour la clef
       peut avoir des résultats imprévisibles.

       DH_new_method() alloue et initialise une structure DH de telle sorte que engine sera
       utilisé pour les opérations DH. Si engine est NULL, l'ENGINE par défaut pour les
       opérations DH est utilisé, et si aucun ENGINE par défaut n'est défini, la DH_METHOD
       contrôlée par DH_set_default_method() est utilisée.

LA STRUCTURE DH_METHOD

        typedef struct dh_meth_st
        {
            /* nom de l'implémentation */
               const char *name;

            /* générer des valeurs DH publique et privée pour l'é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;

VALEURS DE RETOUR

       DH_OpenSSL() et DH_get_default_method() renvoient des pointeurs vers les DH_METHODs
       respectives.

       DH_set_default_method() ne renvoie pas de valeur.

       DH_set_method() renvoie une valeur non nulle si la meth fournie a été correctement définie
       comme méthode pour dh (y compris le déchargement du traitement ENGINE si la méthode
       précédente a été fournie par un ENGINE).

       DH_new_method() renvoie NULL et définit un code d'erreur qui peut être obtenu par
       ERR_get_error(3) si l'allocation échoue. Sinon, elle renvoie un pointeur vers la structure
       nouvellement allouée.

NOTES

       Depuis la version 0.9.7, les implémentations DH_METHOD sont groupées avec les autres
       interfaces de programmation algorithmiques (par exemple RSA_METHOD, EVP_CIPHER, etc.) dans
       les modules ENGINE. Si un ENGINE par défaut est indiqué pour les fonctionnalités DH en
       utilisant une fonction d'interface de programmation d'ENGINE, il écrasera toutes les
       valeurs DH par défaut définies en utilisant une interface de programmation de DH
       (c'est-à-dire DH_set_default_method()). Par conséquent, l'interface de programmation
       d'ENGINE est la façon recommandée pour contrôler les implémentations par défaut à utiliser
       dans DH et les autres algorithmes cryptographiques.

VOIR AUSSI

       dh(3), DH_new(3)

HISTORIQUE

       DH_set_default_method(), DH_get_default_method(), DH_set_method(), DH_new_method() et
       DH_OpenSSL() ont été ajoutées dans OpenSSL 0.9.4.

       DH_set_default_openssl_method() et DH_get_default_openssl_method() ont remplacé
       respectivement DH_set_default_method() et DH_get_default_method(), et DH_set_method() et
       DH_new_method() ont été modifiées pour utiliser des ENGINE plutôt que des DH_METHOD 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'ENGINE 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'ENGINE écrase maintenant de façon transparente le comportement des valeurs
       par défaut de l'interface de programmation de DH sans nécessiter de modification de ces
       prototypes de fonction.

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la liste
       <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de
       traduction par un rapport de bogue sur le paquet manpages-fr-extra.