diff options
Diffstat (limited to 'random.c')
-rw-r--r-- | random.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -389,6 +389,8 @@ fill_random_seed(unsigned int seed[DEFAULT_SEED_CNT]) #if USE_DEV_URANDOM int fd; struct stat statbuf; +#elif defined(_WIN32) + HCRYPTPROV prov; #endif memset(seed, 0, DEFAULT_SEED_LEN); @@ -410,6 +412,11 @@ fill_random_seed(unsigned int seed[DEFAULT_SEED_CNT]) } close(fd); } +#elif defined(_WIN32) + if (CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { + CryptGenRandom(prov, DEFAULT_SEED_LEN, seed); + CryptReleaseContext(prov, 0); + } #endif gettimeofday(&tv, 0); |