NOM¶
RAND_set_rand_method, RAND_get_rand_method, RAND_SSLeay - Sélectionner la
méthode RAND
SYNOPSIS¶
#include <openssl/rand.h>
void RAND_set_rand_method(const RAND_METHOD *meth);
const RAND_METHOD *RAND_get_rand_method(void);
RAND_METHOD *RAND_SSLeay(void);
DESCRIPTION¶
Une
RAND_METHOD indique les fonctions qu’OpenSSL utilise pour la
génération de nombres aléatoires. En modifiant la
méthode, les implémentations alternatives, comme les
générateurs de nombres aléatoires matériels,
pourraient être utilisées.
Important : consultez
la section
NOTES qui contient des renseignements importants sur la
façon dont ces fonctions d’interface de programmation RAND sont
concernées par l’utilisation des appels d’interface de
programmation
ENGINE.
Initialement, la RAND_METHOD par défaut est l'implémentation
interne d'OpenSSL, comme renvoyée par
RAND_SSLeay().
RAND_set_default_method() rend
meth la méthode par
défaut pour l’utilisation de générateur de nombres
pseudoaléatoires.
Remarque : c'est seulement vrai tant
qu'aucun ENGINE n'a été défini par défaut pour
RAND, donc cette fonction n'est plus recommandée.
RAND_get_default_method() renvoie un pointeur vers la RAND_METHOD
actuelle. Cependant, ce résultat n'a de signification que si
l'interface de programmation d'ENGINE est utilisée, donc cette fonction
n'est plus recommandée.
LA STRUCTURE RAND_METHOD¶
typedef struct rand_meth_st
{
void (*seed)(const void *buf, int num);
int (*bytes)(unsigned char *buf, int num);
void (*cleanup)(void);
void (*add)(const void *buf, int num, int entropy);
int (*pseudorand)(unsigned char *buf, int num);
int (*status)(void);
} RAND_METHOD;
Les composants pointent vers l’implémentation de
RAND_seed(),
RAND_bytes(),
RAND_cleanup(),
RAND_add(),
RAND_pseudo_rand() et
RAND_status(). Chaque
composant pourrait être NULL si la fonction n’est pas
implémentée.
VALEURS DE RETOUR¶
RAND_set_rand_method() ne renvoie pas de valeur.
RAND_get_rand_method() et
RAND_SSLeay() renvoient des pointeurs
vers les méthodes respectives.
NOTES¶
Depuis la version 0.9.7, les implémentations RAND_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 RAND en utilisant une fonction d'interface de
programmation d'ENGINE, il écrasera toutes les valeurs RAND par
défaut définies en utilisant une interface de programmation de
RAND (c'est-à-dire
RAND_set_rand_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 RAND et les autres algorithmes
cryptographiques.
VOIR AUSSI¶
engine(3),
rand(3)
HISTORIQUE¶
RAND_set_rand_method(),
RAND_get_rand_method() et
RAND_SSLeay() sont disponibles dans toutes les versions
d’OpenSSL.
Dans la version d’engine d’OpenSSL 0.9.6,
RAND_set_rand_method() a été modifiée pour prendre
un pointeur d’ENGINE en argument. Depuis la version 0.9.7, cela
a été inversé pour que l’interface de
programmation d'ENGINE écrase de façon transparente les valeurs
par défaut de RAND si utilisée, sinon les fonctions de
l'interface de programmation de RAND fonctionnent comme avant.
RAND_set_rand_engine() a aussi été introduite dans la
version 0.9.7.
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.