Any program written in Java
to the command line invocation used to start the Java process. (Without this, Java uses
/dev/random to seed its
SecureRandom class, which can cause Java code to block unexpectedly.)
Alternatively, in the
$JAVA_HOME/jre/lib/security/java.security configuration file, add the line
Footnote: In the above examples, you need the crazy-looking filename, e.g., the extra
/./, to trick Java into accepting your filename. If you just use
/dev/urandom, Java decides you didn't really mean it and replaces what you wrote with
If you are starting some service in a chroot environment, don't forget to create the
/dev/urandom device inside your chroot directory.
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
in the mod_ssl configuration file. Avoid using
Cyrus POP3, IMAPD, and SASL
Compile Cyrus SASL (libsasl) with the configuration flag
By default, Cyrus POP3 reads from
/dev/random. I couldn't find any configuration setting to change this, short of recompiling.
slapd.conf configuration file. (This hopefully should be the default, but some guides misleadingly suggest using
/dev/random, so you might want to double-check.)
tls_random_source = dev:/dev/urandom
main.cf configuration file, or
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
from the command line.