| Index: net/socket_stream/socket_stream.cc
|
| diff --git a/net/socket_stream/socket_stream.cc b/net/socket_stream/socket_stream.cc
|
| index bf53d17cccdf6831c21adfdf5baf752e6787c3c8..158cff371ebdb2dd997e3a609f2834043b683eb2 100644
|
| --- a/net/socket_stream/socket_stream.cc
|
| +++ b/net/socket_stream/socket_stream.cc
|
| @@ -1168,15 +1168,10 @@ int SocketStream::HandleCertificateRequest(int result, SSLConfig* ssl_config) {
|
| if (!client_cert)
|
| return result;
|
|
|
| - const std::vector<scoped_refptr<X509Certificate> >& client_certs =
|
| - cert_request_info->client_certs;
|
| - bool cert_still_valid = false;
|
| - for (size_t i = 0; i < client_certs.size(); ++i) {
|
| - if (client_cert->Equals(client_certs[i])) {
|
| - cert_still_valid = true;
|
| - break;
|
| - }
|
| - }
|
| + const std::vector<std::string>& cert_authorities =
|
| + cert_request_info->cert_authorities;
|
| + bool cert_still_valid = cert_authorities.empty() ||
|
| + client_cert->IsIssuedByEncoded(cert_authorities);
|
| if (!cert_still_valid)
|
| return result;
|
|
|
|
|