Index: components/cast_certificate/cast_crl.cc |
diff --git a/components/cast_certificate/cast_crl.cc b/components/cast_certificate/cast_crl.cc |
index 7d866e370884982d920e4c4285217fe5d2f323ed..e8e0595892d7642602efadc9acb979e143f9a376 100644 |
--- a/components/cast_certificate/cast_crl.cc |
+++ b/components/cast_certificate/cast_crl.cc |
@@ -70,10 +70,7 @@ class CastCRLTrustStore { |
kCastCRLRootCaDer, sizeof(kCastCRLRootCaDer), {}, &errors); |
CHECK(cert) << errors.ToDebugString(); |
// Enforce pathlen constraints and policies defined on the root certificate. |
- scoped_refptr<net::TrustAnchor> anchor = |
- net::TrustAnchor::CreateFromCertificateWithConstraints(std::move(cert)); |
- CHECK(anchor); |
- store_.AddTrustAnchor(std::move(anchor)); |
+ store_.AddTrustAnchorWithConstraints(std::move(cert)); |
} |
net::TrustStoreInMemory store_; |
@@ -261,7 +258,7 @@ bool CastCRLImpl::CheckRevocation(const net::CertPath& trusted_chain, |
if (trusted_chain.IsEmpty()) |
return false; |
- DCHECK(trusted_chain.trust_anchor); |
+ DCHECK(trusted_chain.last_cert_trust.IsTrustAnchor()); |
// Check the validity of the CRL at the specified time. |
net::der::GeneralizedTime verification_time; |
@@ -274,17 +271,10 @@ bool CastCRLImpl::CheckRevocation(const net::CertPath& trusted_chain, |
return false; |
} |
- // Check revocation. Note that this loop has "+ 1" in order to also loop |
- // over the trust anchor (which is treated specially). |
- for (size_t i = 0; i < trusted_chain.certs.size() + 1; ++i) { |
- // This loop iterates over both certificates AND then the trust |
- // anchor after exhausing the certs. |
- net::der::Input spki_tlv; |
- if (i == trusted_chain.certs.size()) { |
- spki_tlv = trusted_chain.trust_anchor->spki(); |
- } else { |
- spki_tlv = trusted_chain.certs[i]->tbs().spki_tlv; |
- } |
+ // Check revocation. This loop iterates over both certificates AND then the |
+ // trust anchor after exhausting the certs. |
+ for (size_t i = 0; i < trusted_chain.certs.size(); ++i) { |
+ const net::der::Input& spki_tlv = trusted_chain.certs[i]->tbs().spki_tlv; |
// Calculate the public key's hash to check for revocation. |
std::string spki_hash = crypto::SHA256HashString(spki_tlv.AsString()); |