On Tue, Mar 16, 2010 at 6:25 PM, Dr. Stephen Henson <st...@openssl.org> wrote: > On Tue, Mar 16, 2010, Mathieu Malaterre wrote: > >> Hi there, >> >> I am looking at an old piece of code: >> >> http://cpansearch.perl.org/src/SAMPO/smime-0.7/smimeutil.c >> >> ... >> #ifdef WINDOWS >> LOG_PRINT("RAND_screen..."); >> RAND_screen(); /* Loading video display memory into random state */ >> #endif >> ... >> >> And I was wondering why RAND_screen was being called only on windows ? >> > > It was used at one point for PRNG seeding. Now OpenSSL gathers entropy from a > number of OS specific sources and doesn't need the explicit call any more.
What do you mean 'doesn't anymore' ? I am looking at openssl 0.9.8m and it reveal: cat ./apps/smime.c ... else if (operation == SMIME_ENCRYPT) { ... need_rand = 1; } ... if (need_rand) { app_RAND_load_file(NULL, bio_err, (inrand != NULL)); ... which in turn: cat apps/app_rand.c ... int app_RAND_load_file(const char *file, BIO *bio_e, int dont_warn) { int consider_randfile = (file == NULL); char buffer[200]; #ifdef OPENSSL_SYS_WINDOWS BIO_printf(bio_e,"Loading 'screen' into random state -"); BIO_flush(bio_e); RAND_screen(); BIO_printf(bio_e," done\n"); #endif ... Did I misunderstood something ? This is still in use in 0.9.8m, right ? Should I use another function instead ? Thanks again for your help, -- Mathieu ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org