Index: net/ssl/ssl_platform_key_nss.cc |
diff --git a/net/ssl/ssl_platform_key_nss.cc b/net/ssl/ssl_platform_key_nss.cc |
index d08bd98b0f2f69f9c685aefb6c1d4e7c590e515e..d294517675bb4e63ef227c6cc72907105d492924 100644 |
--- a/net/ssl/ssl_platform_key_nss.cc |
+++ b/net/ssl/ssl_platform_key_nss.cc |
@@ -153,13 +153,19 @@ class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
} // namespace |
+FetchPrivateKeyFunc* fetch_private_key_func = nullptr; |
+ |
scoped_ptr<SSLPrivateKey> FetchClientCertPrivateKey( |
X509Certificate* certificate, |
scoped_refptr<base::SequencedTaskRunner> task_runner) { |
crypto::ScopedSECKEYPrivateKey key( |
PK11_FindKeyByAnyCert(certificate->os_cert_handle(), nullptr)); |
- if (!key) |
+ if (!key) { |
+ if (fetch_private_key_func) { |
+ return fetch_private_key_func(certificate); |
+ } |
return nullptr; |
+ } |
KeyType nss_type = SECKEY_GetPrivateKeyType(key.get()); |
SSLPrivateKey::Type type; |