[Botan-devel] Re: LibraryInitializer problem in Win32

Jack Lloyd lloyd at randombit.net
Sat Oct 20 21:05:37 EDT 2007


On Sat, Oct 20, 2007 at 08:56:43PM -0400, Yan Shpilsky wrote:
> The output is:
> std exception caught: Botan: PRNG not seeded: Unable to collect 
> sufficient entropy
> typename: struct Botan::PRNG_Unseeded
> 
> I am not sure what that means, but perhaps you could help, as the same 
> code works under Solaris and Linux. Thanks.

The PRNG objects in Botan try to estimate how much entropy they have
been seeded with. If it is less then some safe-enough level (in this
case, probably zero), then they'll refuse the produce output.

The reason it worked on Linux and Solaris is that the (only) built in
source of entropy is one that reads /dev/random or /dev/urandom, which
exists on both of those (at least for recent Solaris).

The easiest solution is to enable one of the Win32 specific modules
(es_capi (which calls CryptoAPI's CryptGenRandom) or es_win32 (which
creates a snapshot of system state)). That can be done by passing

--modules=es_capi,es_win32

to configure.pl

-Jack



More information about the botan-devel mailing list