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.