Index: net/cert/internal/trust_store.cc |
diff --git a/net/cert/internal/trust_store.cc b/net/cert/internal/trust_store.cc |
index 7540cfdab8bd499be857c9676c9da402405580dc..1ef02d7bfc2b60d0785d6f5cd70c08e46e393b05 100644 |
--- a/net/cert/internal/trust_store.cc |
+++ b/net/cert/internal/trust_store.cc |
@@ -6,37 +6,77 @@ |
namespace net { |
-scoped_refptr<TrustAnchor> TrustAnchor::CreateFromCertificateNoConstraints( |
- scoped_refptr<ParsedCertificate> cert) { |
- return scoped_refptr<TrustAnchor>(new TrustAnchor(std::move(cert), false)); |
+CertificateTrust CertificateTrust::ForTrustAnchor() { |
+ CertificateTrust result; |
+ result.type = CertificateTrustType::TRUSTED_ANCHOR; |
+ return result; |
} |
-scoped_refptr<TrustAnchor> TrustAnchor::CreateFromCertificateWithConstraints( |
- scoped_refptr<ParsedCertificate> cert) { |
- return scoped_refptr<TrustAnchor>(new TrustAnchor(std::move(cert), true)); |
+CertificateTrust CertificateTrust::ForTrustAnchorEnforcingConstraints() { |
+ CertificateTrust result; |
+ result.type = CertificateTrustType::TRUSTED_ANCHOR_WITH_CONSTRAINTS; |
+ return result; |
} |
-der::Input TrustAnchor::spki() const { |
- return cert_->tbs().spki_tlv; |
+CertificateTrust CertificateTrust::ForUnspecified() { |
+ CertificateTrust result; |
+ result.type = CertificateTrustType::UNSPECIFIED; |
+ return result; |
} |
-der::Input TrustAnchor::normalized_subject() const { |
- return cert_->normalized_subject(); |
+CertificateTrust CertificateTrust::ForDistrusted() { |
+ CertificateTrust result; |
+ result.type = CertificateTrustType::DISTRUSTED; |
+ return result; |
} |
-const scoped_refptr<ParsedCertificate>& TrustAnchor::cert() const { |
- return cert_; |
+bool CertificateTrust::IsTrustAnchor() const { |
+ switch (type) { |
+ case CertificateTrustType::DISTRUSTED: |
+ case CertificateTrustType::UNSPECIFIED: |
+ return false; |
+ case CertificateTrustType::TRUSTED_ANCHOR: |
+ case CertificateTrustType::TRUSTED_ANCHOR_WITH_CONSTRAINTS: |
+ return true; |
+ } |
+ |
+ NOTREACHED(); |
+ return false; |
} |
-TrustAnchor::TrustAnchor(scoped_refptr<ParsedCertificate> cert, |
- bool enforces_constraints) |
- : cert_(std::move(cert)), enforces_constraints_(enforces_constraints) { |
- DCHECK(cert_); |
+bool CertificateTrust::IsDistrusted() const { |
+ switch (type) { |
+ case CertificateTrustType::DISTRUSTED: |
+ return true; |
+ case CertificateTrustType::UNSPECIFIED: |
+ case CertificateTrustType::TRUSTED_ANCHOR: |
+ case CertificateTrustType::TRUSTED_ANCHOR_WITH_CONSTRAINTS: |
+ return false; |
+ } |
+ |
+ NOTREACHED(); |
+ return false; |
} |
-TrustAnchor::~TrustAnchor() = default; |
+bool CertificateTrust::HasUnspecifiedTrust() const { |
+ switch (type) { |
+ case CertificateTrustType::UNSPECIFIED: |
+ return true; |
+ case CertificateTrustType::DISTRUSTED: |
+ case CertificateTrustType::TRUSTED_ANCHOR: |
+ case CertificateTrustType::TRUSTED_ANCHOR_WITH_CONSTRAINTS: |
+ return false; |
+ } |
+ |
+ NOTREACHED(); |
+ return true; |
+} |
TrustStore::TrustStore() = default; |
-TrustStore::~TrustStore() = default; |
+ |
+void TrustStore::AsyncGetIssuersOf(const ParsedCertificate* cert, |
+ std::unique_ptr<Request>* out_req) { |
+ out_req->reset(); |
+} |
} // namespace net |