Java и /dev/random

The Sun/Oracle-based JVM is attempting to generate a pseudo-random number to be used as a seed for an SSL server socket. To generate the pseudo-random number, the JVM is reading from the /dev/random device to obtain some random information for the seed. The problem is that reads from the /dev/random device will block if the system does not have a good source of random events. So, the Geronimo server startup is blocked waiting for enough random information to be returned from /dev/random. This article may be help understand the basic issue —

I’m no security expert. And I don’t know the potential implications, but the simplest way that I’ve found to avoid the problem is to use the /dev/urandom device, instead of /dev/random. Do this by specifying the following java property ‘‘.
But keep in mind that often setting up the mentioned property does not make any difference.

It’s a bug in Java.
A bug was submitted in 2004 but updated and resolved in 2012.;jsessionid=ff625daf459fdffffffffcd54f1c775299e0?bug_id=6202721

Java picks up /dev/random even though /dev/urandom is passed in command
line. The workaround around is to trick java to use /dev/urandom, by using
/dev/./urandom. Basically it’s the same device, (.) dot means current
Look also at the class SecureRandom

More cardinal measure is to change /dev/random for /dev/urandom globally in the system:

# rm /dev/random
# mknod /dev/random c 1 9