Browse Source

Apply windows patch from Dmitri Bely

svn:r3617
Nick Mathewson 20 years ago
parent
commit
f6221b695f
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/common/crypto.c

+ 3 - 3
src/common/crypto.c

@@ -1399,15 +1399,15 @@ int crypto_seed_rng(void)
   char buf[DIGEST_LEN+1];
 
   if (!provider_set) {
-    if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, 0)) {
+    if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, CRYPT_MACHINE_KEYSET)) {
       if (GetLastError() != NTE_BAD_KEYSET) {
         log_fn(LOG_ERR,"Can't get CryptoAPI provider [1]");
         return -1;
       }
       /* Yes, we need to try it twice. */
       if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
-                               CRYPT_NEWKEYSET)) {
-        log_fn(LOG_ERR,"Can't get CryptoAPI provider [2]");
+                               CRYPT_MACHINE_KEYSET | CRYPT_NEWKEYSET)) {
+        log_fn(LOG_ERR,"Can't get CryptoAPI provider [2], error code: %x", GetLastError());
         return -1;
       }
     }