fr::crypto::RAND_set_rand_method(3SSL)

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.