Просмотр исходного кода

Drop check for NTE_BAD_KEYSET error

Any error when acquiring the CryptoAPI context should get treated as
bad.  Also, this one can't happen for the arguments we're giving.
Fixes bug 10816; bugfix on 0.0.2pre26.
Nick Mathewson 9 лет назад
Родитель
Сommit
42350968a9
2 измененных файлов с 8 добавлено и 4 удалено
  1. 6 0
      changes/bug10816
  2. 2 4
      src/common/crypto.c

+ 6 - 0
changes/bug10816

@@ -0,0 +1,6 @@
+  o Minor bugfixes (windows):
+    - Remove code to special-case handling of NTE_BAD_KEYSET when
+      acquiring windows CryptoAPI context.  This error can't actually
+      occur for the parameters we're providing.  Fixes bug 10816;
+      bugfix on 0.0.2pre26.
+

+ 2 - 4
src/common/crypto.c

@@ -2456,10 +2456,8 @@ crypto_strongest_rand(uint8_t *out, size_t out_len)
   if (!provider_set) {
     if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
                              CRYPT_VERIFYCONTEXT)) {
-      if ((unsigned long)GetLastError() != (unsigned long)NTE_BAD_KEYSET) {
-        log_warn(LD_CRYPTO, "Can't get CryptoAPI provider [1]");
-        return -1;
-      }
+      log_warn(LD_CRYPTO, "Can't get CryptoAPI provider [1]");
+      return -1;
     }
     provider_set = 1;
   }