| Index: net/socket/ssl_client_socket_openssl.cc
|
| diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc
|
| index 1f193b7757af6c6338a5d0788ff5cf705fffeed1..3264ebb7058f8c4406cbf21f42af8b7632813374 100644
|
| --- a/net/socket/ssl_client_socket_openssl.cc
|
| +++ b/net/socket/ssl_client_socket_openssl.cc
|
| @@ -1425,20 +1425,25 @@ void SSLClientSocketOpenSSL::VerifyCT() {
|
| server_cert_verify_result_.verified_cert.get(), ocsp_response, sct_list,
|
| &ct_verify_result_, net_log_);
|
|
|
| - if (policy_enforcer_ &&
|
| - (server_cert_verify_result_.cert_status & CERT_STATUS_IS_EV)) {
|
| + if (policy_enforcer_) {
|
| scoped_refptr<ct::EVCertsWhitelist> ev_whitelist =
|
| SSLConfigService::GetEVCertsWhitelist();
|
| - if (!policy_enforcer_->DoesConformToCTEVPolicy(
|
| - server_cert_verify_result_.verified_cert.get(), ev_whitelist.get(),
|
| - ct_verify_result_, net_log_)) {
|
| + if (!policy_enforcer_->DoesConformToCertPolicy(
|
| + server_cert_verify_result_.verified_cert.get(),
|
| + ct_verify_result_)) {
|
| + server_cert_verify_result_.cert_status |=
|
| + CERT_STATUS_CT_COMPLIANCE_FAILED;
|
| + }
|
| + if ((server_cert_verify_result_.cert_status & CERT_STATUS_IS_EV) &&
|
| + !policy_enforcer_->DoesConformToEVPolicy(
|
| + server_cert_verify_result_.verified_cert.get(),
|
| + server_cert_verify_result_.cert_status, ev_whitelist.get(),
|
| + net_log_)) {
|
| // TODO(eranm): Log via the BoundNetLog, see crbug.com/437766
|
| VLOG(1) << "EV certificate for "
|
| << server_cert_verify_result_.verified_cert->subject()
|
| .GetDisplayName()
|
| << " does not conform to CT policy, removing EV status.";
|
| - server_cert_verify_result_.cert_status |=
|
| - CERT_STATUS_CT_COMPLIANCE_FAILED;
|
| server_cert_verify_result_.cert_status &= ~CERT_STATUS_IS_EV;
|
| }
|
| }
|
|
|