fr::crypto::RAND_egd(3SSL)

NOM
RAND_egd, RAND_egd_bytes, RAND_query_egd_bytes - 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.