Index: net/base/openssl_memory_private_key_store.cc |
diff --git a/net/base/openssl_memory_private_key_store.cc b/net/base/openssl_memory_private_key_store.cc |
index 92716f236e1d341edc1f392bdcaa40bd44c0f726..1ab6cc486ba37be5b2c3d4bbc01a4b914ac7defb 100644 |
--- a/net/base/openssl_memory_private_key_store.cc |
+++ b/net/base/openssl_memory_private_key_store.cc |
@@ -17,6 +17,8 @@ namespace net { |
namespace { |
+// This is the linux_redux specific implementation of |
+// OpenSSLPrivateKeyStore. |
class OpenSSLMemoryKeyStore : public OpenSSLPrivateKeyStore { |
public: |
OpenSSLMemoryKeyStore() {} |
@@ -25,35 +27,14 @@ class OpenSSLMemoryKeyStore : public OpenSSLPrivateKeyStore { |
return Singleton<OpenSSLMemoryKeyStore>::get(); |
} |
- virtual ~OpenSSLMemoryKeyStore() { |
- base::AutoLock lock(lock_); |
- for (std::vector<EVP_PKEY*>::iterator it = keys_.begin(); |
- it != keys_.end(); ++it) { |
- EVP_PKEY_free(*it); |
- } |
- } |
- |
- virtual bool StorePrivateKey(const GURL& url, EVP_PKEY* pkey) { |
- CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY); |
- base::AutoLock lock(lock_); |
- keys_.push_back(pkey); |
+ virtual bool StoreKeyPair(const GURL& url, EVP_PKEY* pkey) OVERRIDE { |
+ // Since there is no real key store, just record the keys in |
+ // memory. |
+ AddKeyPair(pkey, pkey); |
return true; |
} |
- virtual EVP_PKEY* FetchPrivateKey(EVP_PKEY* pkey) { |
- base::AutoLock lock(lock_); |
- for (std::vector<EVP_PKEY*>::iterator it = keys_.begin(); |
- it != keys_.end(); ++it) { |
- if (EVP_PKEY_cmp(*it, pkey) == 1) |
- return *it; |
- } |
- return NULL; |
- } |
- |
private: |
- std::vector<EVP_PKEY*> keys_; |
- base::Lock lock_; |
- |
DISALLOW_COPY_AND_ASSIGN(OpenSSLMemoryKeyStore); |
}; |