63 votes

A quoi sert l'option java.security.egd ?

Dans un projet sur lequel je travaille, l'application est lancée à l'aide d'une commande similaire à celle-ci :

java -Djava.security.egd=file:/dev/urandom -jar app.jar

Je n'ai jamais vu le java.security.egd avant. En cherchant un peu, il semble qu'elle soit utilisée pour configurer la génération de nombres aléatoires dans une application Java.

Est-ce que c'est bien ? Quand doit-on l'appliquer ?

1voto

Ruelos Joel Points 650

Ceci est lié à la différence de linux /dev/random y /dev/urandom générateur de nombres aléatoires.

Tiré de ce lien

Bug de Java 6202721 déclare que java.security.SecureRandom utilise /dev/random plutôt que /dev/urandom même si /dev/urandom est spécifié parce qu'à l'époque (vers 2004) /dev/urandom ne fonctionnait pas correctement. Le bogue n'a jamais été corrigé, maintenant que /dev/urandom fonctionne bien. très bien. Par conséquent, vous devez faire semblant en masquant l'option en utilisant /dev/./urandom pour forcer l'utilisation de SHA1PRNG au lieu de /dev/./urandom. plutôt que /dev/random.

Pour répondre à votre question

Quand doit-on l'appliquer ?

D'après le lien ci-dessus, il s'agit d'un phénomène propre aux versions 5 et suivantes de Java, qui résulte de problèmes avec /dev/urandom sur les systèmes Linux en 2004.

0voto

Rams Points 221

Ceci n'est plus nécessaire si vous utilisez le JDK 8 ou plus.

Le problème a été corrigé par Java et voici quelques liens

Grandes lignes

SHA1PRNG et NativePRNG ont été corrigés pour respecter correctement les propriétés de la source de graines SecureRandom dans le fichier java.security. (L'obscure solution de contournement utilisant file:///dev/urandom et file:/dev/./urandom n'est plus nécessaire).

Pour plus d'informations (recherchez random dans la page) :

https://docs.oracle.com/javase/8/docs/technotes/guides/security/enhancements-8.html

https://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X