| 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;
|
|
|