| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/quic/crypto/proof_verifier_chromium.h" | 5 #include "net/quic/crypto/proof_verifier_chromium.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 base::Unretained(this)), | 277 base::Unretained(this)), |
| 278 &cert_verifier_request_, net_log_); | 278 &cert_verifier_request_, net_log_); |
| 279 } | 279 } |
| 280 | 280 |
| 281 int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { | 281 int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { |
| 282 cert_verifier_request_.reset(); | 282 cert_verifier_request_.reset(); |
| 283 | 283 |
| 284 const CertVerifyResult& cert_verify_result = | 284 const CertVerifyResult& cert_verify_result = |
| 285 verify_details_->cert_verify_result; | 285 verify_details_->cert_verify_result; |
| 286 const CertStatus cert_status = cert_verify_result.cert_status; | 286 const CertStatus cert_status = cert_verify_result.cert_status; |
| 287 verify_details_->ct_verify_result.ct_policies_applied = |
| 288 (result == OK && policy_enforcer_ != nullptr); |
| 289 verify_details_->ct_verify_result.ev_policy_compliance = |
| 290 CTPolicyEnforcer::EV_POLICY_DOES_NOT_APPLY; |
| 287 if (result == OK && policy_enforcer_ && | 291 if (result == OK && policy_enforcer_ && |
| 288 (cert_verify_result.cert_status & CERT_STATUS_IS_EV)) { | 292 (cert_verify_result.cert_status & CERT_STATUS_IS_EV)) { |
| 289 if (!policy_enforcer_->DoesConformToCTEVPolicy( | 293 CTPolicyEnforcer::EVPolicyCompliance ev_policy_compliance = |
| 294 policy_enforcer_->DoesConformToCTEVPolicy( |
| 290 cert_verify_result.verified_cert.get(), | 295 cert_verify_result.verified_cert.get(), |
| 291 SSLConfigService::GetEVCertsWhitelist().get(), | 296 SSLConfigService::GetEVCertsWhitelist().get(), |
| 292 verify_details_->ct_verify_result, net_log_)) { | 297 verify_details_->ct_verify_result.verified_scts, net_log_); |
| 298 verify_details_->ct_verify_result.ev_policy_compliance = |
| 299 ev_policy_compliance; |
| 300 if (ev_policy_compliance != |
| 301 CTPolicyEnforcer::EV_POLICY_COMPLIES_VIA_WHITELIST && |
| 302 ev_policy_compliance != CTPolicyEnforcer::EV_POLICY_COMPLIES_VIA_SCTS) { |
| 293 verify_details_->cert_verify_result.cert_status |= | 303 verify_details_->cert_verify_result.cert_status |= |
| 294 CERT_STATUS_CT_COMPLIANCE_FAILED; | 304 CERT_STATUS_CT_COMPLIANCE_FAILED; |
| 295 verify_details_->cert_verify_result.cert_status &= ~CERT_STATUS_IS_EV; | 305 verify_details_->cert_verify_result.cert_status &= ~CERT_STATUS_IS_EV; |
| 296 } | 306 } |
| 297 } | 307 } |
| 298 | 308 |
| 299 // TODO(estark): replace 0 below with the port of the connection. | 309 // TODO(estark): replace 0 below with the port of the connection. |
| 300 if (transport_security_state_ && | 310 if (transport_security_state_ && |
| 301 (result == OK || | 311 (result == OK || |
| 302 (IsCertificateError(result) && IsCertStatusMinorError(cert_status))) && | 312 (IsCertificateError(result) && IsCertStatusMinorError(cert_status))) && |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 436 } | 446 } |
| 437 return status; | 447 return status; |
| 438 } | 448 } |
| 439 | 449 |
| 440 void ProofVerifierChromium::OnJobComplete(Job* job) { | 450 void ProofVerifierChromium::OnJobComplete(Job* job) { |
| 441 active_jobs_.erase(job); | 451 active_jobs_.erase(job); |
| 442 delete job; | 452 delete job; |
| 443 } | 453 } |
| 444 | 454 |
| 445 } // namespace net | 455 } // namespace net |
| OLD | NEW |