Index: net/base/keygen_handler_win.cc |
diff --git a/net/base/keygen_handler_win.cc b/net/base/keygen_handler_win.cc |
index 42997b66bce119a57c332741b7bf48c273aa2d6b..3d97d17e2f54e03b4ad2e8235e326a6662cb8e1c 100644 |
--- a/net/base/keygen_handler_win.cc |
+++ b/net/base/keygen_handler_win.cc |
@@ -16,6 +16,7 @@ |
#include "base/base64.h" |
#include "base/basictypes.h" |
+#include "base/crypto/capi_util.h" |
#include "base/logging.h" |
#include "base/string_piece.h" |
#include "base/string_util.h" |
@@ -250,8 +251,9 @@ std::string KeygenHandler::GenKeyAndSignChallenge() { |
// Only create new key containers, so that existing key containers are not |
// overwritten. |
- ok = CryptAcquireContext(&prov, new_key_id.c_str(), NULL, PROV_RSA_FULL, |
- CRYPT_SILENT | CRYPT_NEWKEYSET); |
+ ok = base::CryptAcquireContextLocked(&prov, new_key_id.c_str(), NULL, |
+ PROV_RSA_FULL, |
+ CRYPT_SILENT | CRYPT_NEWKEYSET); |
if (ok || GetLastError() != NTE_BAD_KEYSET) |
break; |
@@ -301,8 +303,9 @@ std::string KeygenHandler::GenKeyAndSignChallenge() { |
prov = NULL; |
if (!stores_key_) { |
// Fully destroys any of the keys that were created and releases prov. |
- CryptAcquireContext(&prov, new_key_id.c_str(), NULL, PROV_RSA_FULL, |
- CRYPT_SILENT | CRYPT_DELETEKEYSET); |
+ base::CryptAcquireContextLocked(&prov, new_key_id.c_str(), NULL, |
+ PROV_RSA_FULL, |
+ CRYPT_SILENT | CRYPT_DELETEKEYSET); |
} |
} |