Chromium Code Reviews| Index: net/base/x509_certificate_unittest.cc |
| diff --git a/net/base/x509_certificate_unittest.cc b/net/base/x509_certificate_unittest.cc |
| index ab2f7a800059d0712ee022c305368d8839289675..c349661f0ba5957f3e51d50a16d07788eec8e3cf 100644 |
| --- a/net/base/x509_certificate_unittest.cc |
| +++ b/net/base/x509_certificate_unittest.cc |
| @@ -633,6 +633,53 @@ TEST(X509CertificateTest, IntermediateCertificates) { |
| } |
| #endif |
| +#if defined(OS_MACOSX) |
|
wtc
2010/08/03 01:26:58
Is this unit test ifdef'd with OS_MACOSX because
t
|
| +TEST(X509CertificateTest, IsIssuedBy) { |
| + FilePath certs_dir = GetTestCertsDirectory(); |
| + |
| + // Test a client certificate from MIT. |
| + scoped_refptr<X509Certificate> mit_davidben_cert = |
| + ImportCertFromFile(certs_dir, "mit.davidben.der"); |
| + ASSERT_NE(static_cast<X509Certificate*>(NULL), mit_davidben_cert); |
| + |
| + CertPrincipal mit_principal; |
|
wtc
2010/08/03 01:26:58
Nit: mit_principal => mit_issuer
foaf_princip
|
| + mit_principal.country_name = "US"; |
| + mit_principal.state_or_province_name = "Massachusetts"; |
| + mit_principal.organization_names.push_back( |
| + "Massachusetts Institute of Technology"); |
| + mit_principal.organization_unit_names.push_back("Client CA v1"); |
| + |
| + // IsIssuedBy should return true even if it cannot build a chain |
| + // with that principal. |
| + std::vector<CertPrincipal> mit_issuers(1, mit_principal); |
| + EXPECT_TRUE(mit_davidben_cert->IsIssuedBy(mit_issuers)); |
| + |
| + // Test a client certificate from FOAF.ME. |
| + scoped_refptr<X509Certificate> foaf_me_chromium_test_cert = |
| + ImportCertFromFile(certs_dir, "foaf.me.chromium-test-cert.der"); |
| + ASSERT_NE(static_cast<X509Certificate*>(NULL), foaf_me_chromium_test_cert); |
| + |
| + CertPrincipal foaf_principal; |
| + foaf_principal.common_name = "FOAF.ME"; |
| + foaf_principal.locality_name = "Wimbledon"; |
| + foaf_principal.state_or_province_name = "LONDON"; |
| + foaf_principal.country_name = "GB"; |
| + foaf_principal.organization_names.push_back("FOAF.ME"); |
| + |
| + std::vector<CertPrincipal> foaf_issuers(1, foaf_principal); |
| + EXPECT_TRUE(foaf_me_chromium_test_cert->IsIssuedBy(foaf_issuers)); |
| + |
| + // And test some combinations and mismatches. |
| + std::vector<CertPrincipal> both_issuers; |
| + both_issuers.push_back(mit_principal); |
| + both_issuers.push_back(foaf_principal); |
| + EXPECT_TRUE(foaf_me_chromium_test_cert->IsIssuedBy(both_issuers)); |
| + EXPECT_TRUE(mit_davidben_cert->IsIssuedBy(both_issuers)); |
| + EXPECT_FALSE(foaf_me_chromium_test_cert->IsIssuedBy(mit_issuers)); |
| + EXPECT_FALSE(mit_davidben_cert->IsIssuedBy(foaf_issuers)); |
| +} |
| +#endif // defined(OS_MACOSX) |
| + |
| class X509CertificateParseTest |
| : public testing::TestWithParam<CertificateFormatTestData> { |
| public: |