Index: net/ssl/ssl_platform_key_android.cc |
diff --git a/net/ssl/ssl_platform_key_android.cc b/net/ssl/ssl_platform_key_android.cc |
index c918f3600fe69b06215e5c112e0ca1b470a44a2b..01eefea79eb930208ee3870ced198a4b88cfd0c6 100644 |
--- a/net/ssl/ssl_platform_key_android.cc |
+++ b/net/ssl/ssl_platform_key_android.cc |
@@ -12,7 +12,6 @@ |
#include "base/stl_util.h" |
#include "crypto/scoped_openssl_types.h" |
#include "net/base/net_errors.h" |
-#include "net/ssl/openssl_client_key_store.h" |
#include "net/ssl/ssl_private_key.h" |
#include "net/ssl/threaded_ssl_private_key.h" |
@@ -20,6 +19,9 @@ namespace net { |
namespace { |
+base::LazyInstance<SSLPlatformKeyTaskRunner>::Leaky g_platform_key_task_runner = |
+ LAZY_INSTANCE_INITIALIZER; |
+ |
class SSLPlatformKeyAndroid : public ThreadedSSLPrivateKey::Delegate { |
public: |
SSLPlatformKeyAndroid(crypto::ScopedEVP_PKEY key, SSLPrivateKey::Type type) |
@@ -101,12 +103,7 @@ class SSLPlatformKeyAndroid : public ThreadedSSLPrivateKey::Delegate { |
} // namespace |
-scoped_ptr<SSLPrivateKey> FetchClientCertPrivateKey( |
- X509Certificate* certificate, |
- scoped_refptr<base::SequencedTaskRunner> task_runner) { |
- crypto::ScopedEVP_PKEY key = |
- OpenSSLClientKeyStore::GetInstance()->FetchClientCertPrivateKey( |
- certificate); |
+scoped_refptr<SSLPrivateKey> WrapPrivateKey(crypto::ScopedEVP_PKEY key) { |
if (!key) |
return nullptr; |
@@ -122,9 +119,9 @@ scoped_ptr<SSLPrivateKey> FetchClientCertPrivateKey( |
LOG(ERROR) << "Unknown key type: " << EVP_PKEY_id(key.get()); |
return nullptr; |
} |
- return make_scoped_ptr(new ThreadedSSLPrivateKey( |
+ return make_scoped_refptr(new ThreadedSSLPrivateKey( |
make_scoped_ptr(new SSLPlatformKeyAndroid(key.Pass(), type)), |
- task_runner.Pass())); |
+ g_platform_key_task_runner.Get().task_runner().Pass())); |
} |
} // namespace net |