Chromium Code Reviews| Index: net/cert/nss_cert_database_unittest.cc |
| diff --git a/net/cert/nss_cert_database_unittest.cc b/net/cert/nss_cert_database_unittest.cc |
| index 4f65005fd15f2e81b2c7fe9be303bb06f0a4b826..71275bb4eaeb311dc0149f12ccff5a8a2736e33d 100644 |
| --- a/net/cert/nss_cert_database_unittest.cc |
| +++ b/net/cert/nss_cert_database_unittest.cc |
| @@ -938,4 +938,44 @@ TEST_F(CertDatabaseNSSTest, TrustIntermediateCa4) { |
| EXPECT_EQ(0U, verify_result2.cert_status); |
| } |
| +// Importing two certificates with the same issuer and common name, but |
|
wtc
2013/05/22 20:58:45
Could you clarify whether the "common name" is the
|
| +// distinct subject names, should succeed and generate a unique nickname for |
| +// the second certificate. |
|
wtc
2013/05/22 20:58:45
The test doesn't check the nicknames are different
Ryan Sleevi
2013/05/22 23:20:19
Fixed.
|
| +TEST_F(CertDatabaseNSSTest, ImportDuplicateCommonName) { |
| + CertificateList certs = |
| + CreateCertificateListFromFile(GetTestCertsDirectory(), |
| + "duplicate_cn_1.pem", |
| + X509Certificate::FORMAT_AUTO); |
| + ASSERT_EQ(1U, certs.size()); |
| + |
| + EXPECT_EQ(0U, ListCertsInSlot(slot_->os_module_handle()).size()); |
| + |
| + // Import server cert with default trust. |
| + NSSCertDatabase::ImportCertFailureList failed; |
| + EXPECT_TRUE(cert_db_->ImportServerCert( |
| + certs, NSSCertDatabase::TRUST_DEFAULT, &failed)); |
| + EXPECT_EQ(0U, failed.size()); |
| + EXPECT_EQ(NSSCertDatabase::TRUST_DEFAULT, |
| + cert_db_->GetCertTrust(certs[0], SERVER_CERT)); |
| + |
| + CertificateList new_certs = ListCertsInSlot(slot_->os_module_handle()); |
| + ASSERT_EQ(1U, new_certs.size()); |
| + |
| + // Now attempt to issue a different version with the same common name. |
|
wtc
2013/05/22 20:58:45
What does "issue a different version" mean?
Ryan Sleevi
2013/05/22 23:20:19
typo
s/issue/import/
s/version/certificate/
|
| + CertificateList certs2 = |
| + CreateCertificateListFromFile(GetTestCertsDirectory(), |
| + "duplicate_cn_2.pem", |
| + X509Certificate::FORMAT_AUTO); |
| + ASSERT_EQ(1U, certs2.size()); |
| + |
| + // Import server cert with default trust. |
| + EXPECT_TRUE(cert_db_->ImportServerCert( |
| + certs2, NSSCertDatabase::TRUST_DEFAULT, &failed)); |
| + EXPECT_EQ(0U, failed.size()); |
| + EXPECT_EQ(NSSCertDatabase::TRUST_DEFAULT, |
| + cert_db_->GetCertTrust(certs2[0], SERVER_CERT)); |
| + |
| + EXPECT_EQ(2U, ListCertsInSlot(slot_->os_module_handle()).size()); |
| +} |
| + |
| } // namespace net |