| Index: content/browser/loader/resource_loader.cc
|
| diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
|
| index 854c0adde9149c719e6717d1ef8764cdb641933d..5a9bbff111476ce9f08961454596d5ae074ba69b 100644
|
| --- a/content/browser/loader/resource_loader.cc
|
| +++ b/content/browser/loader/resource_loader.cc
|
| @@ -35,6 +35,8 @@
|
| #include "net/base/load_flags.h"
|
| #include "net/http/http_response_headers.h"
|
| #include "net/ssl/client_cert_store.h"
|
| +#include "net/ssl/ssl_platform_key.h"
|
| +#include "net/ssl/ssl_private_key.h"
|
| #include "net/url_request/redirect_info.h"
|
| #include "net/url_request/url_request_status.h"
|
|
|
| @@ -423,7 +425,13 @@ void ResourceLoader::ContinueSSLRequest() {
|
| void ResourceLoader::ContinueWithCertificate(net::X509Certificate* cert) {
|
| DCHECK(ssl_client_auth_handler_);
|
| ssl_client_auth_handler_.reset();
|
| - request_->ContinueWithCertificate(cert);
|
| + if (!cert) {
|
| + request_->ContinueWithCertificate(nullptr, nullptr);
|
| + return;
|
| + }
|
| + scoped_refptr<net::SSLPrivateKey> private_key =
|
| + net::FetchClientCertPrivateKey(cert);
|
| + request_->ContinueWithCertificate(cert, private_key.get());
|
| }
|
|
|
| void ResourceLoader::CancelCertificateSelection() {
|
|
|