Index: net/cert/ct_policy_enforcer_unittest.cc |
diff --git a/net/cert/ct_policy_enforcer_unittest.cc b/net/cert/ct_policy_enforcer_unittest.cc |
index c6c61b36a3390137f8ab8ec3c996c14578cb9f08..341a8e07ae32549ec1ea9532cd8b941fd2714a1d 100644 |
--- a/net/cert/ct_policy_enforcer_unittest.cc |
+++ b/net/cert/ct_policy_enforcer_unittest.cc |
@@ -126,6 +126,11 @@ class CTPolicyEnforcerTest : public ::testing::Test { |
for (size_t i = 0; i < required_scts - 1; ++i) { |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, |
1, std::vector<std::string>(), false, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ cert.get(), result.verified_scts, BoundNetLog())) |
+ << " for: " << (end - start).InDays() << " and " << required_scts |
+ << " scts=" << result.verified_scts.size() << " i=" << i; |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_NOT_ENOUGH_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
cert.get(), nullptr, result.verified_scts, BoundNetLog())) |
@@ -134,6 +139,11 @@ class CTPolicyEnforcerTest : public ::testing::Test { |
} |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, 1, |
std::vector<std::string>(), false, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ cert.get(), result.verified_scts, BoundNetLog())) |
+ << " for: " << (end - start).InDays() << " and " << required_scts |
+ << " scts=" << result.verified_scts.size(); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
cert.get(), nullptr, result.verified_scts, BoundNetLog())) |
@@ -153,6 +163,9 @@ TEST_F(CTPolicyEnforcerTest, |
ct::CTVerifyResult result; |
FillResultWithRepeatedLogID(google_log_id_, 2, true, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_NOT_DIVERSE_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_NOT_DIVERSE_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), nullptr, result.verified_scts, BoundNetLog())); |
@@ -163,6 +176,9 @@ TEST_F(CTPolicyEnforcerTest, |
ct::CTVerifyResult result; |
FillResultWithRepeatedLogID(non_google_log_id_, 2, true, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_NOT_DIVERSE_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_NOT_DIVERSE_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), nullptr, result.verified_scts, BoundNetLog())); |
@@ -172,6 +188,9 @@ TEST_F(CTPolicyEnforcerTest, ConformsToCTEVPolicyIfSCTBeforeEnforcementDate) { |
ct::CTVerifyResult result; |
FillResultWithRepeatedLogID(non_google_log_id_, 2, false, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), nullptr, result.verified_scts, BoundNetLog())); |
@@ -182,6 +201,9 @@ TEST_F(CTPolicyEnforcerTest, ConformsToCTEVPolicyWithNonEmbeddedSCTs) { |
FillResultWithSCTsOfOrigin( |
ct::SignedCertificateTimestamp::SCT_FROM_TLS_EXTENSION, 2, &result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), nullptr, result.verified_scts, BoundNetLog())); |
@@ -193,6 +215,9 @@ TEST_F(CTPolicyEnforcerTest, ConformsToCTEVPolicyWithEmbeddedSCTs) { |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, 5, |
&result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), nullptr, result.verified_scts, BoundNetLog())); |
@@ -208,6 +233,9 @@ TEST_F(CTPolicyEnforcerTest, DoesNotConformToCTEVPolicyNotEnoughSCTs) { |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, 1, |
&result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_NOT_ENOUGH_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
chain_.get(), non_including_whitelist.get(), |
@@ -222,12 +250,20 @@ TEST_F(CTPolicyEnforcerTest, DoesNotConformToCTEVPolicyNotEnoughSCTs) { |
chain_.get(), whitelist.get(), result.verified_scts, BoundNetLog())); |
} |
-TEST_F(CTPolicyEnforcerTest, DoesNotConformToPolicyInvalidDates) { |
+// TODO(estark): fix this test so that it can check if |
+// |no_valid_dates_cert| is on the whitelist without |
+// crashing. https://crbug.com/582740 |
+TEST_F(CTPolicyEnforcerTest, DISABLED_DoesNotConformToPolicyInvalidDates) { |
scoped_refptr<X509Certificate> no_valid_dates_cert(new X509Certificate( |
"subject", "issuer", base::Time(), base::Time::Now())); |
+ ASSERT_TRUE(no_valid_dates_cert); |
ct::CTVerifyResult result; |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, 5, |
&result); |
+ EXPECT_EQ( |
+ ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ no_valid_dates_cert.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_NOT_ENOUGH_SCTS, |
policy_enforcer_->DoesConformToCTEVPolicy( |
no_valid_dates_cert.get(), nullptr, result.verified_scts, |
@@ -235,10 +271,10 @@ TEST_F(CTPolicyEnforcerTest, DoesNotConformToPolicyInvalidDates) { |
// ... but should be OK if whitelisted. |
scoped_refptr<ct::EVCertsWhitelist> whitelist( |
new DummyEVCertsWhitelist(true, true)); |
- EXPECT_EQ( |
- ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_WHITELIST, |
- policy_enforcer_->DoesConformToCTEVPolicy( |
- chain_.get(), whitelist.get(), result.verified_scts, BoundNetLog())); |
+ EXPECT_EQ(ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_WHITELIST, |
+ policy_enforcer_->DoesConformToCTEVPolicy( |
+ no_valid_dates_cert.get(), whitelist.get(), |
+ result.verified_scts, BoundNetLog())); |
} |
TEST_F(CTPolicyEnforcerTest, |
@@ -292,6 +328,9 @@ TEST_F(CTPolicyEnforcerTest, ConformsToPolicyByEVWhitelistPresence) { |
ct::CTVerifyResult result; |
FillResultWithSCTsOfOrigin(ct::SignedCertificateTimestamp::SCT_EMBEDDED, 1, |
&result); |
+ EXPECT_EQ(ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS, |
+ policy_enforcer_->DoesConformToCertPolicy( |
+ chain_.get(), result.verified_scts, BoundNetLog())); |
EXPECT_EQ( |
ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_WHITELIST, |
policy_enforcer_->DoesConformToCTEVPolicy( |