| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 // TODO(eroman): Because VerifySignedData() is only implemented for BoringSSL | 5 // TODO(eroman): Because VerifySignedData() is only implemented for BoringSSL |
| 6 // these tests also depend on BoringSSL. | 6 // these tests also depend on BoringSSL. |
| 7 #if defined(USE_OPENSSL) | 7 #if defined(USE_OPENSSL) |
| 8 | 8 |
| 9 #include "net/cert/internal/verify_certificate_chain.h" | 9 #include "net/cert/internal/verify_certificate_chain.h" |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 DISABLED_Section7InvalidkeyUsageCriticalcRLSignFalseTest4 | 40 DISABLED_Section7InvalidkeyUsageCriticalcRLSignFalseTest4 |
| 41 #define Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5 \ | 41 #define Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5 \ |
| 42 DISABLED_Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5 | 42 DISABLED_Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5 |
| 43 | 43 |
| 44 #include "net/cert/internal/nist_pkits_unittest.h" | 44 #include "net/cert/internal/nist_pkits_unittest.h" |
| 45 | 45 |
| 46 namespace net { | 46 namespace net { |
| 47 | 47 |
| 48 namespace { | 48 namespace { |
| 49 | 49 |
| 50 // Adds the certificate |cert_der| as a trust anchor to |trust_store|. | |
| 51 void AddCertificateToTrustStore(const std::string& cert_der, | |
| 52 TrustStore* trust_store) { | |
| 53 ParsedCertificate cert; | |
| 54 ASSERT_TRUE(ParseCertificate(der::Input(&cert_der), &cert)); | |
| 55 | |
| 56 ParsedTbsCertificate tbs; | |
| 57 ASSERT_TRUE(ParseTbsCertificate(cert.tbs_certificate_tlv, &tbs)); | |
| 58 TrustAnchor anchor = {tbs.spki_tlv.AsString(), tbs.subject_tlv.AsString()}; | |
| 59 trust_store->anchors.push_back(anchor); | |
| 60 } | |
| 61 | |
| 62 class VerifyCertificateChainPkitsTestDelegate { | 50 class VerifyCertificateChainPkitsTestDelegate { |
| 63 public: | 51 public: |
| 64 static bool Verify(std::vector<std::string> cert_ders, | 52 static bool Verify(std::vector<std::string> cert_ders, |
| 65 std::vector<std::string> crl_ders) { | 53 std::vector<std::string> crl_ders) { |
| 66 if (cert_ders.empty()) { | 54 if (cert_ders.empty()) { |
| 67 ADD_FAILURE() << "cert_ders is empty"; | 55 ADD_FAILURE() << "cert_ders is empty"; |
| 68 return false; | 56 return false; |
| 69 } | 57 } |
| 70 // First entry in the PKITS chain is the trust anchor. | 58 // First entry in the PKITS chain is the trust anchor. |
| 71 TrustStore trust_store; | 59 TrustStore trust_store; |
| 72 AddCertificateToTrustStore(cert_ders[0], &trust_store); | 60 EXPECT_TRUE(trust_store.AddTrustedCertificate(cert_ders[0])); |
| 73 | 61 |
| 74 // PKITS lists chains from trust anchor to target, VerifyCertificateChain | 62 // PKITS lists chains from trust anchor to target, VerifyCertificateChain |
| 75 // takes them starting with the target and not including the trust anchor. | 63 // takes them starting with the target and not including the trust anchor. |
| 76 std::vector<der::Input> input_chain; | 64 std::vector<der::Input> input_chain; |
| 77 for (size_t i = cert_ders.size() - 1; i > 0; --i) | 65 for (size_t i = cert_ders.size() - 1; i > 0; --i) |
| 78 input_chain.push_back(der::Input(&cert_ders[i])); | 66 input_chain.push_back(der::Input(&cert_ders[i])); |
| 79 | 67 |
| 80 SimpleSignaturePolicy signature_policy(1024); | 68 SimpleSignaturePolicy signature_policy(1024); |
| 81 | 69 |
| 82 // Run all tests at the time the PKITS was published. | 70 // Run all tests at the time the PKITS was published. |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 // PkitsTest05VerifyingPathswithSelfIssuedCertificates, | 202 // PkitsTest05VerifyingPathswithSelfIssuedCertificates, |
| 215 // PkitsTest14DistributionPoints, PkitsTest15DeltaCRLs | 203 // PkitsTest14DistributionPoints, PkitsTest15DeltaCRLs |
| 216 | 204 |
| 217 // TODO(mattm): Certificate Policies support: PkitsTest08CertificatePolicies, | 205 // TODO(mattm): Certificate Policies support: PkitsTest08CertificatePolicies, |
| 218 // PkitsTest09RequireExplicitPolicy PkitsTest10PolicyMappings, | 206 // PkitsTest09RequireExplicitPolicy PkitsTest10PolicyMappings, |
| 219 // PkitsTest11InhibitPolicyMapping, PkitsTest12InhibitAnyPolicy | 207 // PkitsTest11InhibitPolicyMapping, PkitsTest12InhibitAnyPolicy |
| 220 | 208 |
| 221 } // namespace net | 209 } // namespace net |
| 222 | 210 |
| 223 #endif // USE_OPENSSL | 211 #endif // USE_OPENSSL |
| OLD | NEW |