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'accord
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.