Index: net/ssl/ssl_client_auth_cache.cc |
diff --git a/net/ssl/ssl_client_auth_cache.cc b/net/ssl/ssl_client_auth_cache.cc |
index 4c6b0d82f153a95c6d8d5daf89e88f5a0160f0e9..ba60c1bc5feb1d62b08ad4fee82f02bdf229aa49 100644 |
--- a/net/ssl/ssl_client_auth_cache.cc |
+++ b/net/ssl/ssl_client_auth_cache.cc |
@@ -6,6 +6,7 @@ |
#include "base/logging.h" |
#include "net/cert/x509_certificate.h" |
+#include "net/ssl/ssl_private_key.h" |
namespace net { |
@@ -17,22 +18,24 @@ SSLClientAuthCache::~SSLClientAuthCache() { |
CertDatabase::GetInstance()->RemoveObserver(this); |
} |
-bool SSLClientAuthCache::Lookup( |
- const HostPortPair& server, |
- scoped_refptr<X509Certificate>* certificate) { |
+bool SSLClientAuthCache::Lookup(const HostPortPair& server, |
+ scoped_refptr<X509Certificate>* certificate, |
+ scoped_refptr<SSLPrivateKey>* private_key) { |
DCHECK(certificate); |
AuthCacheMap::iterator iter = cache_.find(server); |
if (iter == cache_.end()) |
return false; |
- *certificate = iter->second; |
+ *certificate = iter->second.first; |
+ *private_key = iter->second.second; |
return true; |
} |
void SSLClientAuthCache::Add(const HostPortPair& server, |
- X509Certificate* value) { |
- cache_[server] = value; |
+ X509Certificate* certificate, |
+ SSLPrivateKey* private_key) { |
+ cache_[server] = std::make_pair(certificate, private_key); |
// TODO(wtc): enforce a maximum number of entries. |
} |