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.

1.0.2a 1.0.2c                                      2015-12-31                    fr::crypto::DH_set_method(3SSL)