NOM¶
RAND_egd - Envoyer une requête au démon rassembleur d'entropie
SYNOPSIS¶
#include <openssl/rand.h>
int RAND_egd(const char *path);
int RAND_egd_bytes(const char *path, int
bytes);
int RAND_query_egd_bytes(const char *path, unsigned char
*buf, int bytes);
DESCRIPTION¶
RAND_egd() envoie une requête au démon rassembleur
d'entropie EGD sur la socket
path. Elle demande 255 octets et
utilise
RAND_add(3) pour initialiser le générateur de
nombres pseudoaléatoires intégré à OpenSSL.
RAND_egd(
path) est une enveloppe pour
RAND_egd_bytes(
path , 255).
RAND_egd_bytes() envoie une requête au démon rassembleur
d'entropie EGD sur la socket
path. Elle demande
bytes octets et utilise
RAND_add(3) pour initialiser le
générateur de nombres pseudoaléatoires
intégré à OpenSSL. Cette fonction est plus flexible que
RAND_egd(). Quand une seule clef secrète doit être
générée, il n'est pas nécessaire de demander
l'intégralité des 255 octets de la socket EGD. Cela peut
être avantageux, puisque la quantité d'entropie pouvant
être récupérée d'EGD est limitée dans le
temps.
RAND_query_egd_bytes() réalise la véritable demande au
démon EGD sur la socket
path. Si
buf est donné,
bytes octets sont demandés et écrits dans
buf. Si
buf est NULL,
bytes octets sont
demandés et utilisés pour initialiser le
générateur de nombres pseudoaléatoires
intégré à OpenSSL en utilisant
RAND_add(3).
NOTES¶
Sur les systèmes sans périphérique /dev/*random fournissant
l'entropie du noyau, le démon rassembleur d'entropie EGD peut
être utilisé pour collecter l'entropie. Il fournit une interface
de socket par laquelle l'entropie peut être rassemblée en blocs
de 255 octets maximum. Plusieurs blocs peuvent être
demandés pendant une connexion.
EGD est disponible sur
http://www.lothar.com/tech/crypto/ ("perl
Makefile.PL; make; make install" pour l'installer). Il s'utilise avec
egd path, où
path est un chemin absolu
désignant une socket. Quand
RAND_egd() est appelée avec
ce chemin en argument, elle essaye de lire des octets aléatoires qu'EGD
a collectés.
RAND_egd() récupère l'entropie
à partir du démon utilisant la commande de
« lecture non bloquante » du démon qui
répondra immédiatement sans attendre de collecter plus
d'entropie. Les opérations d'écriture et de lecture de socket
dans la communication sont bloquantes.
Sinon, PRNGD, le démon générateur de nombres
pseudoaléatoires avec interface compatible à EGD, peut
être utilisé. Il est disponible sur
<
http://prngd.sourceforge.net/>. PRNGD utilise un
générateur de nombres pseudoaléatoires interne et ne peut
donc jamais manquer d'entropie.
OpenSSL envoie automatiquement des requêtes à EGD quand l'entropie
est nécessaire à l'aide de
RAND_bytes(), ou l'état
est vérifié à l'aide de
RAND_status() la
première fois, si la socket est placée en
/var/run/egd-pool,
/dev/egd-pool ou
/etc/egd-pool.
VALEUR DE RETOUR¶
RAND_egd() et
RAND_egd_bytes() renvoient le nombre d'octets depuis
le démon en cas de réussite, et
-1 si la connexion a
échoué ou si le démon n'a pas renvoyé assez de
données pour initialiser complètement le
générateur de nombres pseudoaléatoires.
RAND_query_egd_bytes() renvoie le nombre d'octets lus du démon en
cas de réussite, et
-1 si la connexion a échoué.
L'état du générateur de nombres pseudoaléatoires
n'est pas considéré.
VOIR AUSSI¶
rand(3),
RAND_add(3),
RAND_cleanup(3)
HISTORIQUE¶
RAND_egd() est disponible depuis OpenSSL 0.9.5.
RAND_egd_bytes() est disponible depuis OpenSSL 0.9.6.
RAND_query_egd_bytes() est disponible depuis OpenSSL 0.9.7.
Les requêtes automatiques de
/var/run/egd-pool et autres ont
été ajoutées dans OpenSSL 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.