| Index: net/cert/cert_verify_proc_unittest.cc
|
| diff --git a/net/cert/cert_verify_proc_unittest.cc b/net/cert/cert_verify_proc_unittest.cc
|
| index 07ef561581240a34723d1739447fa31716614e68..6d01ef65efb963e02cfa727f4de4255770364ff5 100644
|
| --- a/net/cert/cert_verify_proc_unittest.cc
|
| +++ b/net/cert/cert_verify_proc_unittest.cc
|
| @@ -103,6 +103,9 @@ bool SupportsDetectingKnownRoots() {
|
| // the verified certificate chain and detect known roots.
|
| if (base::android::BuildInfo::GetInstance()->sdk_int() < 17)
|
| return false;
|
| +#elif defined(OS_IOS) && defined(USE_OPENSSL)
|
| + // iOS does not expose the APIs necessary to get the known system roots.
|
| + return false;
|
| #endif
|
| return true;
|
| }
|
| @@ -223,6 +226,10 @@ TEST_F(CertVerifyProcTest, PaypalNullCertParsing) {
|
| &verify_result);
|
| #if defined(USE_NSS_VERIFIER) || defined(OS_ANDROID)
|
| EXPECT_EQ(ERR_CERT_COMMON_NAME_INVALID, error);
|
| +#elif defined(OS_IOS) && TARGET_IPHONE_SIMULATOR
|
| + // iOS returns a ERR_CERT_INVALID error on the simulator, while returning
|
| + // ERR_CERT_AUTHORITY_INVALID on the real device.
|
| + EXPECT_EQ(ERR_CERT_INVALID, error);
|
| #else
|
| // TOOD(bulach): investigate why macosx and win aren't returning
|
| // ERR_CERT_INVALID or ERR_CERT_COMMON_NAME_INVALID.
|
| @@ -277,6 +284,29 @@ TEST_F(CertVerifyProcTest, MAYBE_IntermediateCARequireExplicitPolicy) {
|
| EXPECT_EQ(0u, verify_result.cert_status);
|
| }
|
|
|
| +TEST_F(CertVerifyProcTest, RejectExpiredCert) {
|
| + base::FilePath certs_dir = GetTestCertsDirectory();
|
| +
|
| + // Load root_ca_cert.pem into the test root store.
|
| + ScopedTestRoot test_root(
|
| + ImportCertFromFile(certs_dir, "root_ca_cert.pem").get());
|
| +
|
| + CertificateList certs = CreateCertificateListFromFile(
|
| + certs_dir, "expired_cert.pem", X509Certificate::FORMAT_AUTO);
|
| + ASSERT_EQ(1U, certs.size());
|
| +
|
| + X509Certificate::OSCertHandles intermediates;
|
| + scoped_refptr<X509Certificate> cert = X509Certificate::CreateFromHandle(
|
| + certs[0]->os_cert_handle(), intermediates);
|
| +
|
| + int flags = 0;
|
| + CertVerifyResult verify_result;
|
| + int error = Verify(cert.get(), "127.0.0.1", flags, NULL, empty_cert_list_,
|
| + &verify_result);
|
| + EXPECT_EQ(ERR_CERT_DATE_INVALID, error);
|
| + EXPECT_TRUE(verify_result.cert_status & CERT_STATUS_DATE_INVALID);
|
| +}
|
| +
|
| // Test that verifying an ECDSA certificate doesn't crash on XP. (See
|
| // crbug.com/144466).
|
| TEST_F(CertVerifyProcTest, ECDSA_RSA) {
|
| @@ -1103,8 +1133,8 @@ TEST_F(CertVerifyProcTest, IsIssuedByKnownRootIgnoresTestRoots) {
|
| EXPECT_FALSE(verify_result.is_issued_by_known_root);
|
| }
|
|
|
| -#if defined(USE_NSS_CERTS) || defined(OS_IOS) || defined(OS_WIN) || \
|
| - defined(OS_MACOSX)
|
| +#if defined(USE_NSS_VERIFIER) || defined(OS_WIN) || \
|
| + (defined(OS_MACOSX) && !defined(OS_IOS))
|
| // Test that CRLSets are effective in making a certificate appear to be
|
| // revoked.
|
| TEST_F(CertVerifyProcTest, CRLSet) {
|
|
|