I have noticed that some linux systems (CentOS 5.1, FC7 and FC8) that RAND_load_file("/dev/random", 1024) can take a long time (20 minutes). If I do an strace on the process, I see that it is doing reads on /dev/random and getting back 8 or 9 bytes. I assume that what is happening here is that RAND_load_file() is reading the available pool of entrogy, finds it is not 1K then RAND_load_file() blocks on subsequent reads from /dev/random returning 8 bytes (/proc/sys/kernel/random/read_wakeup_threadhold is 64 or 8 bytes) of entropy as it becomes available. When I look at /proc/sys/kernel/random/entropy_avail, the number is typically 3590 or so even on systems that have been running for awhile. The poolsize as reported by /proc/sys/kernel/random/poolsize is reported as 4096.
Is this what I should expect from RAND_load_file() and /dev/random? What is the acceptable lower limit for the number of bytes for RAND_load_file()? Bruce