| Index: base/crypto/signature_verifier_win.cc
|
| ===================================================================
|
| --- base/crypto/signature_verifier_win.cc (revision 43766)
|
| +++ base/crypto/signature_verifier_win.cc (working copy)
|
| @@ -25,17 +25,12 @@
|
| namespace base {
|
|
|
| SignatureVerifier::SignatureVerifier() : hash_object_(0), public_key_(0) {
|
| - if (!CryptAcquireContext(&provider_, NULL, NULL,
|
| + if (!CryptAcquireContext(provider_.receive(), NULL, NULL,
|
| PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
|
| - provider_ = 0;
|
| + provider_.reset();
|
| }
|
|
|
| SignatureVerifier::~SignatureVerifier() {
|
| - Reset();
|
| - if (provider_) {
|
| - BOOL ok = CryptReleaseContext(provider_, 0);
|
| - DCHECK(ok);
|
| - }
|
| }
|
|
|
| bool SignatureVerifier::VerifyInit(const uint8* signature_algorithm,
|
| @@ -70,7 +65,7 @@
|
|
|
| ok = CryptImportPublicKeyInfo(provider_,
|
| X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
|
| - cert_public_key_info, &public_key_);
|
| + cert_public_key_info, public_key_.receive());
|
| free(cert_public_key_info);
|
| if (!ok)
|
| return false;
|
| @@ -108,7 +103,7 @@
|
| return false;
|
| }
|
|
|
| - ok = CryptCreateHash(provider_, hash_alg_id, 0, 0, &hash_object_);
|
| + ok = CryptCreateHash(provider_, hash_alg_id, 0, 0, hash_object_.receive());
|
| if (!ok)
|
| return false;
|
| return true;
|
| @@ -130,17 +125,8 @@
|
| }
|
|
|
| void SignatureVerifier::Reset() {
|
| - BOOL ok;
|
| - if (hash_object_) {
|
| - ok = CryptDestroyHash(hash_object_);
|
| - DCHECK(ok);
|
| - hash_object_ = 0;
|
| - }
|
| - if (public_key_) {
|
| - ok = CryptDestroyKey(public_key_);
|
| - DCHECK(ok);
|
| - public_key_ = 0;
|
| - }
|
| + hash_object_.reset();
|
| + public_key_.reset();
|
| signature_.clear();
|
| }
|
|
|
|
|