Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: net/cert/x509_certificate_unittest.cc

Issue 503163002: Remove implicit conversions from scoped_refptr to T* in net/cert/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/cert/nss_cert_database.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "net/cert/x509_certificate.h" 5 #include "net/cert/x509_certificate.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/pickle.h" 10 #include "base/pickle.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 }; 84 };
85 85
86 // Dec 18 00:00:00 2009 GMT 86 // Dec 18 00:00:00 2009 GMT
87 const double kGoogleParseValidFrom = 1261094400; 87 const double kGoogleParseValidFrom = 1261094400;
88 // Dec 18 23:59:59 2011 GMT 88 // Dec 18 23:59:59 2011 GMT
89 const double kGoogleParseValidTo = 1324252799; 89 const double kGoogleParseValidTo = 1324252799;
90 90
91 void CheckGoogleCert(const scoped_refptr<X509Certificate>& google_cert, 91 void CheckGoogleCert(const scoped_refptr<X509Certificate>& google_cert,
92 uint8* expected_fingerprint, 92 uint8* expected_fingerprint,
93 double valid_from, double valid_to) { 93 double valid_from, double valid_to) {
94 ASSERT_NE(static_cast<X509Certificate*>(NULL), google_cert); 94 ASSERT_NE(static_cast<X509Certificate*>(NULL), google_cert.get());
95 95
96 const CertPrincipal& subject = google_cert->subject(); 96 const CertPrincipal& subject = google_cert->subject();
97 EXPECT_EQ("www.google.com", subject.common_name); 97 EXPECT_EQ("www.google.com", subject.common_name);
98 EXPECT_EQ("Mountain View", subject.locality_name); 98 EXPECT_EQ("Mountain View", subject.locality_name);
99 EXPECT_EQ("California", subject.state_or_province_name); 99 EXPECT_EQ("California", subject.state_or_province_name);
100 EXPECT_EQ("US", subject.country_name); 100 EXPECT_EQ("US", subject.country_name);
101 EXPECT_EQ(0U, subject.street_addresses.size()); 101 EXPECT_EQ(0U, subject.street_addresses.size());
102 ASSERT_EQ(1U, subject.organization_names.size()); 102 ASSERT_EQ(1U, subject.organization_names.size());
103 EXPECT_EQ("Google Inc", subject.organization_names[0]); 103 EXPECT_EQ("Google Inc", subject.organization_names[0]);
104 EXPECT_EQ(0U, subject.organization_unit_names.size()); 104 EXPECT_EQ(0U, subject.organization_unit_names.size());
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 CheckGoogleCert(google_cert, google_fingerprint, 140 CheckGoogleCert(google_cert, google_fingerprint,
141 1238192407, // Mar 27 22:20:07 2009 GMT 141 1238192407, // Mar 27 22:20:07 2009 GMT
142 1269728407); // Mar 27 22:20:07 2010 GMT 142 1269728407); // Mar 27 22:20:07 2010 GMT
143 } 143 }
144 144
145 TEST(X509CertificateTest, WebkitCertParsing) { 145 TEST(X509CertificateTest, WebkitCertParsing) {
146 scoped_refptr<X509Certificate> webkit_cert(X509Certificate::CreateFromBytes( 146 scoped_refptr<X509Certificate> webkit_cert(X509Certificate::CreateFromBytes(
147 reinterpret_cast<const char*>(webkit_der), sizeof(webkit_der))); 147 reinterpret_cast<const char*>(webkit_der), sizeof(webkit_der)));
148 148
149 ASSERT_NE(static_cast<X509Certificate*>(NULL), webkit_cert); 149 ASSERT_NE(static_cast<X509Certificate*>(NULL), webkit_cert.get());
150 150
151 const CertPrincipal& subject = webkit_cert->subject(); 151 const CertPrincipal& subject = webkit_cert->subject();
152 EXPECT_EQ("Cupertino", subject.locality_name); 152 EXPECT_EQ("Cupertino", subject.locality_name);
153 EXPECT_EQ("California", subject.state_or_province_name); 153 EXPECT_EQ("California", subject.state_or_province_name);
154 EXPECT_EQ("US", subject.country_name); 154 EXPECT_EQ("US", subject.country_name);
155 EXPECT_EQ(0U, subject.street_addresses.size()); 155 EXPECT_EQ(0U, subject.street_addresses.size());
156 ASSERT_EQ(1U, subject.organization_names.size()); 156 ASSERT_EQ(1U, subject.organization_names.size());
157 EXPECT_EQ("Apple Inc.", subject.organization_names[0]); 157 EXPECT_EQ("Apple Inc.", subject.organization_names[0]);
158 ASSERT_EQ(1U, subject.organization_unit_names.size()); 158 ASSERT_EQ(1U, subject.organization_unit_names.size());
159 EXPECT_EQ("Mac OS Forge", subject.organization_unit_names[0]); 159 EXPECT_EQ("Mac OS Forge", subject.organization_unit_names[0]);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 EXPECT_TRUE(webkit_cert->VerifyNameMatch("foo.webkit.org", &unused)); 195 EXPECT_TRUE(webkit_cert->VerifyNameMatch("foo.webkit.org", &unused));
196 EXPECT_TRUE(webkit_cert->VerifyNameMatch("webkit.org", &unused)); 196 EXPECT_TRUE(webkit_cert->VerifyNameMatch("webkit.org", &unused));
197 EXPECT_FALSE(webkit_cert->VerifyNameMatch("www.webkit.com", &unused)); 197 EXPECT_FALSE(webkit_cert->VerifyNameMatch("www.webkit.com", &unused));
198 EXPECT_FALSE(webkit_cert->VerifyNameMatch("www.foo.webkit.com", &unused)); 198 EXPECT_FALSE(webkit_cert->VerifyNameMatch("www.foo.webkit.com", &unused));
199 } 199 }
200 200
201 TEST(X509CertificateTest, ThawteCertParsing) { 201 TEST(X509CertificateTest, ThawteCertParsing) {
202 scoped_refptr<X509Certificate> thawte_cert(X509Certificate::CreateFromBytes( 202 scoped_refptr<X509Certificate> thawte_cert(X509Certificate::CreateFromBytes(
203 reinterpret_cast<const char*>(thawte_der), sizeof(thawte_der))); 203 reinterpret_cast<const char*>(thawte_der), sizeof(thawte_der)));
204 204
205 ASSERT_NE(static_cast<X509Certificate*>(NULL), thawte_cert); 205 ASSERT_NE(static_cast<X509Certificate*>(NULL), thawte_cert.get());
206 206
207 const CertPrincipal& subject = thawte_cert->subject(); 207 const CertPrincipal& subject = thawte_cert->subject();
208 EXPECT_EQ("www.thawte.com", subject.common_name); 208 EXPECT_EQ("www.thawte.com", subject.common_name);
209 EXPECT_EQ("Mountain View", subject.locality_name); 209 EXPECT_EQ("Mountain View", subject.locality_name);
210 EXPECT_EQ("California", subject.state_or_province_name); 210 EXPECT_EQ("California", subject.state_or_province_name);
211 EXPECT_EQ("US", subject.country_name); 211 EXPECT_EQ("US", subject.country_name);
212 EXPECT_EQ(0U, subject.street_addresses.size()); 212 EXPECT_EQ(0U, subject.street_addresses.size());
213 ASSERT_EQ(1U, subject.organization_names.size()); 213 ASSERT_EQ(1U, subject.organization_names.size());
214 EXPECT_EQ("Thawte Inc", subject.organization_names[0]); 214 EXPECT_EQ("Thawte Inc", subject.organization_names[0]);
215 EXPECT_EQ(0U, subject.organization_unit_names.size()); 215 EXPECT_EQ(0U, subject.organization_unit_names.size());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 247
248 // Test that all desired AttributeAndValue pairs can be extracted when only 248 // Test that all desired AttributeAndValue pairs can be extracted when only
249 // a single RelativeDistinguishedName is present. "Normally" there is only 249 // a single RelativeDistinguishedName is present. "Normally" there is only
250 // one AVA per RDN, but some CAs place all AVAs within a single RDN. 250 // one AVA per RDN, but some CAs place all AVAs within a single RDN.
251 // This is a regression test for http://crbug.com/101009 251 // This is a regression test for http://crbug.com/101009
252 TEST(X509CertificateTest, MultivalueRDN) { 252 TEST(X509CertificateTest, MultivalueRDN) {
253 base::FilePath certs_dir = GetTestCertsDirectory(); 253 base::FilePath certs_dir = GetTestCertsDirectory();
254 254
255 scoped_refptr<X509Certificate> multivalue_rdn_cert = 255 scoped_refptr<X509Certificate> multivalue_rdn_cert =
256 ImportCertFromFile(certs_dir, "multivalue_rdn.pem"); 256 ImportCertFromFile(certs_dir, "multivalue_rdn.pem");
257 ASSERT_NE(static_cast<X509Certificate*>(NULL), multivalue_rdn_cert); 257 ASSERT_NE(static_cast<X509Certificate*>(NULL), multivalue_rdn_cert.get());
258 258
259 const CertPrincipal& subject = multivalue_rdn_cert->subject(); 259 const CertPrincipal& subject = multivalue_rdn_cert->subject();
260 EXPECT_EQ("Multivalue RDN Test", subject.common_name); 260 EXPECT_EQ("Multivalue RDN Test", subject.common_name);
261 EXPECT_EQ("", subject.locality_name); 261 EXPECT_EQ("", subject.locality_name);
262 EXPECT_EQ("", subject.state_or_province_name); 262 EXPECT_EQ("", subject.state_or_province_name);
263 EXPECT_EQ("US", subject.country_name); 263 EXPECT_EQ("US", subject.country_name);
264 EXPECT_EQ(0U, subject.street_addresses.size()); 264 EXPECT_EQ(0U, subject.street_addresses.size());
265 ASSERT_EQ(1U, subject.organization_names.size()); 265 ASSERT_EQ(1U, subject.organization_names.size());
266 EXPECT_EQ("Chromium", subject.organization_names[0]); 266 EXPECT_EQ("Chromium", subject.organization_names[0]);
267 ASSERT_EQ(1U, subject.organization_unit_names.size()); 267 ASSERT_EQ(1U, subject.organization_unit_names.size());
268 EXPECT_EQ("Chromium net_unittests", subject.organization_unit_names[0]); 268 EXPECT_EQ("Chromium net_unittests", subject.organization_unit_names[0]);
269 ASSERT_EQ(1U, subject.domain_components.size()); 269 ASSERT_EQ(1U, subject.domain_components.size());
270 EXPECT_EQ("Chromium", subject.domain_components[0]); 270 EXPECT_EQ("Chromium", subject.domain_components[0]);
271 } 271 }
272 272
273 // Test that characters which would normally be escaped in the string form, 273 // Test that characters which would normally be escaped in the string form,
274 // such as '=' or '"', are not escaped when parsed as individual components. 274 // such as '=' or '"', are not escaped when parsed as individual components.
275 // This is a regression test for http://crbug.com/102839 275 // This is a regression test for http://crbug.com/102839
276 TEST(X509CertificateTest, UnescapedSpecialCharacters) { 276 TEST(X509CertificateTest, UnescapedSpecialCharacters) {
277 base::FilePath certs_dir = GetTestCertsDirectory(); 277 base::FilePath certs_dir = GetTestCertsDirectory();
278 278
279 scoped_refptr<X509Certificate> unescaped_cert = 279 scoped_refptr<X509Certificate> unescaped_cert =
280 ImportCertFromFile(certs_dir, "unescaped.pem"); 280 ImportCertFromFile(certs_dir, "unescaped.pem");
281 ASSERT_NE(static_cast<X509Certificate*>(NULL), unescaped_cert); 281 ASSERT_NE(static_cast<X509Certificate*>(NULL), unescaped_cert.get());
282 282
283 const CertPrincipal& subject = unescaped_cert->subject(); 283 const CertPrincipal& subject = unescaped_cert->subject();
284 EXPECT_EQ("127.0.0.1", subject.common_name); 284 EXPECT_EQ("127.0.0.1", subject.common_name);
285 EXPECT_EQ("Mountain View", subject.locality_name); 285 EXPECT_EQ("Mountain View", subject.locality_name);
286 EXPECT_EQ("California", subject.state_or_province_name); 286 EXPECT_EQ("California", subject.state_or_province_name);
287 EXPECT_EQ("US", subject.country_name); 287 EXPECT_EQ("US", subject.country_name);
288 ASSERT_EQ(1U, subject.street_addresses.size()); 288 ASSERT_EQ(1U, subject.street_addresses.size());
289 EXPECT_EQ("1600 Amphitheatre Parkway", subject.street_addresses[0]); 289 EXPECT_EQ("1600 Amphitheatre Parkway", subject.street_addresses[0]);
290 ASSERT_EQ(1U, subject.organization_names.size()); 290 ASSERT_EQ(1U, subject.organization_names.size());
291 EXPECT_EQ("Chromium = \"net_unittests\"", subject.organization_names[0]); 291 EXPECT_EQ("Chromium = \"net_unittests\"", subject.organization_names[0]);
(...skipping 29 matching lines...) Expand all
321 paypal_null_cert->serial_number().size()); 321 paypal_null_cert->serial_number().size());
322 EXPECT_TRUE(memcmp(paypal_null_cert->serial_number().data(), 322 EXPECT_TRUE(memcmp(paypal_null_cert->serial_number().data(),
323 paypal_null_serial, sizeof(paypal_null_serial)) == 0); 323 paypal_null_serial, sizeof(paypal_null_serial)) == 0);
324 } 324 }
325 325
326 TEST(X509CertificateTest, CAFingerprints) { 326 TEST(X509CertificateTest, CAFingerprints) {
327 base::FilePath certs_dir = GetTestCertsDirectory(); 327 base::FilePath certs_dir = GetTestCertsDirectory();
328 328
329 scoped_refptr<X509Certificate> server_cert = 329 scoped_refptr<X509Certificate> server_cert =
330 ImportCertFromFile(certs_dir, "salesforce_com_test.pem"); 330 ImportCertFromFile(certs_dir, "salesforce_com_test.pem");
331 ASSERT_NE(static_cast<X509Certificate*>(NULL), server_cert); 331 ASSERT_NE(static_cast<X509Certificate*>(NULL), server_cert.get());
332 332
333 scoped_refptr<X509Certificate> intermediate_cert1 = 333 scoped_refptr<X509Certificate> intermediate_cert1 =
334 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2011.pem"); 334 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2011.pem");
335 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert1); 335 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert1.get());
336 336
337 scoped_refptr<X509Certificate> intermediate_cert2 = 337 scoped_refptr<X509Certificate> intermediate_cert2 =
338 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2016.pem"); 338 ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2016.pem");
339 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert2); 339 ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert2.get());
340 340
341 X509Certificate::OSCertHandles intermediates; 341 X509Certificate::OSCertHandles intermediates;
342 intermediates.push_back(intermediate_cert1->os_cert_handle()); 342 intermediates.push_back(intermediate_cert1->os_cert_handle());
343 scoped_refptr<X509Certificate> cert_chain1 = 343 scoped_refptr<X509Certificate> cert_chain1 =
344 X509Certificate::CreateFromHandle(server_cert->os_cert_handle(), 344 X509Certificate::CreateFromHandle(server_cert->os_cert_handle(),
345 intermediates); 345 intermediates);
346 346
347 intermediates.clear(); 347 intermediates.clear();
348 intermediates.push_back(intermediate_cert2->os_cert_handle()); 348 intermediates.push_back(intermediate_cert2->os_cert_handle());
349 scoped_refptr<X509Certificate> cert_chain2 = 349 scoped_refptr<X509Certificate> cert_chain2 =
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 cert_chain2_chain_fingerprint_256, 32) == 0); 449 cert_chain2_chain_fingerprint_256, 32) == 0);
450 EXPECT_TRUE(memcmp(chain_fingerprint_256_3.data, 450 EXPECT_TRUE(memcmp(chain_fingerprint_256_3.data,
451 cert_chain3_chain_fingerprint_256, 32) == 0); 451 cert_chain3_chain_fingerprint_256, 32) == 0);
452 } 452 }
453 453
454 TEST(X509CertificateTest, ParseSubjectAltNames) { 454 TEST(X509CertificateTest, ParseSubjectAltNames) {
455 base::FilePath certs_dir = GetTestCertsDirectory(); 455 base::FilePath certs_dir = GetTestCertsDirectory();
456 456
457 scoped_refptr<X509Certificate> san_cert = 457 scoped_refptr<X509Certificate> san_cert =
458 ImportCertFromFile(certs_dir, "subjectAltName_sanity_check.pem"); 458 ImportCertFromFile(certs_dir, "subjectAltName_sanity_check.pem");
459 ASSERT_NE(static_cast<X509Certificate*>(NULL), san_cert); 459 ASSERT_NE(static_cast<X509Certificate*>(NULL), san_cert.get());
460 460
461 std::vector<std::string> dns_names; 461 std::vector<std::string> dns_names;
462 std::vector<std::string> ip_addresses; 462 std::vector<std::string> ip_addresses;
463 san_cert->GetSubjectAltName(&dns_names, &ip_addresses); 463 san_cert->GetSubjectAltName(&dns_names, &ip_addresses);
464 464
465 // Ensure that DNS names are correctly parsed. 465 // Ensure that DNS names are correctly parsed.
466 ASSERT_EQ(1U, dns_names.size()); 466 ASSERT_EQ(1U, dns_names.size());
467 EXPECT_EQ("test.example", dns_names[0]); 467 EXPECT_EQ("test.example", dns_names[0]);
468 468
469 // Ensure that both IPv4 and IPv6 addresses are correctly parsed. 469 // Ensure that both IPv4 and IPv6 addresses are correctly parsed.
(...skipping 16 matching lines...) Expand all
486 486
487 // Ensure the subjectAltName dirName has not influenced the handling of 487 // Ensure the subjectAltName dirName has not influenced the handling of
488 // the subject commonName. 488 // the subject commonName.
489 EXPECT_EQ("127.0.0.1", san_cert->subject().common_name); 489 EXPECT_EQ("127.0.0.1", san_cert->subject().common_name);
490 } 490 }
491 491
492 TEST(X509CertificateTest, ExtractSPKIFromDERCert) { 492 TEST(X509CertificateTest, ExtractSPKIFromDERCert) {
493 base::FilePath certs_dir = GetTestCertsDirectory(); 493 base::FilePath certs_dir = GetTestCertsDirectory();
494 scoped_refptr<X509Certificate> cert = 494 scoped_refptr<X509Certificate> cert =
495 ImportCertFromFile(certs_dir, "nist.der"); 495 ImportCertFromFile(certs_dir, "nist.der");
496 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert); 496 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert.get());
497 497
498 std::string derBytes; 498 std::string derBytes;
499 EXPECT_TRUE(X509Certificate::GetDEREncoded(cert->os_cert_handle(), 499 EXPECT_TRUE(X509Certificate::GetDEREncoded(cert->os_cert_handle(),
500 &derBytes)); 500 &derBytes));
501 501
502 base::StringPiece spkiBytes; 502 base::StringPiece spkiBytes;
503 EXPECT_TRUE(asn1::ExtractSPKIFromDERCert(derBytes, &spkiBytes)); 503 EXPECT_TRUE(asn1::ExtractSPKIFromDERCert(derBytes, &spkiBytes));
504 504
505 uint8 hash[base::kSHA1Length]; 505 uint8 hash[base::kSHA1Length];
506 base::SHA1HashBytes(reinterpret_cast<const uint8*>(spkiBytes.data()), 506 base::SHA1HashBytes(reinterpret_cast<const uint8*>(spkiBytes.data()),
507 spkiBytes.size(), hash); 507 spkiBytes.size(), hash);
508 508
509 EXPECT_EQ(0, memcmp(hash, kNistSPKIHash, sizeof(hash))); 509 EXPECT_EQ(0, memcmp(hash, kNistSPKIHash, sizeof(hash)));
510 } 510 }
511 511
512 TEST(X509CertificateTest, ExtractCRLURLsFromDERCert) { 512 TEST(X509CertificateTest, ExtractCRLURLsFromDERCert) {
513 base::FilePath certs_dir = GetTestCertsDirectory(); 513 base::FilePath certs_dir = GetTestCertsDirectory();
514 scoped_refptr<X509Certificate> cert = 514 scoped_refptr<X509Certificate> cert =
515 ImportCertFromFile(certs_dir, "nist.der"); 515 ImportCertFromFile(certs_dir, "nist.der");
516 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert); 516 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert.get());
517 517
518 std::string derBytes; 518 std::string derBytes;
519 EXPECT_TRUE(X509Certificate::GetDEREncoded(cert->os_cert_handle(), 519 EXPECT_TRUE(X509Certificate::GetDEREncoded(cert->os_cert_handle(),
520 &derBytes)); 520 &derBytes));
521 521
522 std::vector<base::StringPiece> crl_urls; 522 std::vector<base::StringPiece> crl_urls;
523 EXPECT_TRUE(asn1::ExtractCRLURLsFromDERCert(derBytes, &crl_urls)); 523 EXPECT_TRUE(asn1::ExtractCRLURLsFromDERCert(derBytes, &crl_urls));
524 524
525 EXPECT_EQ(1u, crl_urls.size()); 525 EXPECT_EQ(1u, crl_urls.size());
526 if (crl_urls.size() > 0) { 526 if (crl_urls.size() > 0) {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 X509Certificate::FreeOSCertHandle(google_cert_handle); 596 X509Certificate::FreeOSCertHandle(google_cert_handle);
597 X509Certificate::FreeOSCertHandle(thawte_cert_handle); 597 X509Certificate::FreeOSCertHandle(thawte_cert_handle);
598 598
599 Pickle pickle; 599 Pickle pickle;
600 cert->Persist(&pickle); 600 cert->Persist(&pickle);
601 601
602 PickleIterator iter(pickle); 602 PickleIterator iter(pickle);
603 scoped_refptr<X509Certificate> cert_from_pickle = 603 scoped_refptr<X509Certificate> cert_from_pickle =
604 X509Certificate::CreateFromPickle( 604 X509Certificate::CreateFromPickle(
605 pickle, &iter, X509Certificate::PICKLETYPE_CERTIFICATE_CHAIN_V3); 605 pickle, &iter, X509Certificate::PICKLETYPE_CERTIFICATE_CHAIN_V3);
606 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert_from_pickle); 606 ASSERT_NE(static_cast<X509Certificate*>(NULL), cert_from_pickle.get());
607 EXPECT_TRUE(X509Certificate::IsSameOSCert( 607 EXPECT_TRUE(X509Certificate::IsSameOSCert(
608 cert->os_cert_handle(), cert_from_pickle->os_cert_handle())); 608 cert->os_cert_handle(), cert_from_pickle->os_cert_handle()));
609 const X509Certificate::OSCertHandles& cert_intermediates = 609 const X509Certificate::OSCertHandles& cert_intermediates =
610 cert->GetIntermediateCertificates(); 610 cert->GetIntermediateCertificates();
611 const X509Certificate::OSCertHandles& pickle_intermediates = 611 const X509Certificate::OSCertHandles& pickle_intermediates =
612 cert_from_pickle->GetIntermediateCertificates(); 612 cert_from_pickle->GetIntermediateCertificates();
613 ASSERT_EQ(cert_intermediates.size(), pickle_intermediates.size()); 613 ASSERT_EQ(cert_intermediates.size(), pickle_intermediates.size());
614 for (size_t i = 0; i < cert_intermediates.size(); ++i) { 614 for (size_t i = 0; i < cert_intermediates.size(); ++i) {
615 EXPECT_TRUE(X509Certificate::IsSameOSCert(cert_intermediates[i], 615 EXPECT_TRUE(X509Certificate::IsSameOSCert(cert_intermediates[i],
616 pickle_intermediates[i])); 616 pickle_intermediates[i]));
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 // Cleanup 759 // Cleanup
760 X509Certificate::FreeOSCertHandle(google_handle); 760 X509Certificate::FreeOSCertHandle(google_handle);
761 } 761 }
762 762
763 TEST(X509CertificateTest, IsIssuedByEncoded) { 763 TEST(X509CertificateTest, IsIssuedByEncoded) {
764 base::FilePath certs_dir = GetTestCertsDirectory(); 764 base::FilePath certs_dir = GetTestCertsDirectory();
765 765
766 // Test a client certificate from MIT. 766 // Test a client certificate from MIT.
767 scoped_refptr<X509Certificate> mit_davidben_cert( 767 scoped_refptr<X509Certificate> mit_davidben_cert(
768 ImportCertFromFile(certs_dir, "mit.davidben.der")); 768 ImportCertFromFile(certs_dir, "mit.davidben.der"));
769 ASSERT_NE(static_cast<X509Certificate*>(NULL), mit_davidben_cert); 769 ASSERT_NE(static_cast<X509Certificate*>(NULL), mit_davidben_cert.get());
770 770
771 std::string mit_issuer(reinterpret_cast<const char*>(MITDN), 771 std::string mit_issuer(reinterpret_cast<const char*>(MITDN),
772 sizeof(MITDN)); 772 sizeof(MITDN));
773 773
774 // Test a certificate from Google, issued by Thawte 774 // Test a certificate from Google, issued by Thawte
775 scoped_refptr<X509Certificate> google_cert( 775 scoped_refptr<X509Certificate> google_cert(
776 ImportCertFromFile(certs_dir, "google.single.der")); 776 ImportCertFromFile(certs_dir, "google.single.der"));
777 ASSERT_NE(static_cast<X509Certificate*>(NULL), google_cert); 777 ASSERT_NE(static_cast<X509Certificate*>(NULL), google_cert.get());
778 778
779 std::string thawte_issuer(reinterpret_cast<const char*>(ThawteDN), 779 std::string thawte_issuer(reinterpret_cast<const char*>(ThawteDN),
780 sizeof(ThawteDN)); 780 sizeof(ThawteDN));
781 781
782 // Check that the David Ben certificate is issued by MIT, but not 782 // Check that the David Ben certificate is issued by MIT, but not
783 // by Thawte. 783 // by Thawte.
784 std::vector<std::string> issuers; 784 std::vector<std::string> issuers;
785 issuers.clear(); 785 issuers.clear();
786 issuers.push_back(mit_issuer); 786 issuers.push_back(mit_issuer);
787 EXPECT_TRUE(mit_davidben_cert->IsIssuedByEncoded(issuers)); 787 EXPECT_TRUE(mit_davidben_cert->IsIssuedByEncoded(issuers));
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 TEST(X509CertificateTest, FreeNullHandle) { 869 TEST(X509CertificateTest, FreeNullHandle) {
870 X509Certificate::FreeOSCertHandle(NULL); 870 X509Certificate::FreeOSCertHandle(NULL);
871 } 871 }
872 872
873 #if defined(USE_NSS) 873 #if defined(USE_NSS)
874 TEST(X509CertificateTest, GetDefaultNickname) { 874 TEST(X509CertificateTest, GetDefaultNickname) {
875 base::FilePath certs_dir = GetTestCertsDirectory(); 875 base::FilePath certs_dir = GetTestCertsDirectory();
876 876
877 scoped_refptr<X509Certificate> test_cert( 877 scoped_refptr<X509Certificate> test_cert(
878 ImportCertFromFile(certs_dir, "no_subject_common_name_cert.pem")); 878 ImportCertFromFile(certs_dir, "no_subject_common_name_cert.pem"));
879 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert); 879 ASSERT_NE(static_cast<X509Certificate*>(NULL), test_cert.get());
880 880
881 std::string nickname = test_cert->GetDefaultNickname(USER_CERT); 881 std::string nickname = test_cert->GetDefaultNickname(USER_CERT);
882 EXPECT_EQ("wtc@google.com's COMODO Client Authentication and " 882 EXPECT_EQ("wtc@google.com's COMODO Client Authentication and "
883 "Secure Email CA ID", nickname); 883 "Secure Email CA ID", nickname);
884 } 884 }
885 #endif 885 #endif
886 886
887 const struct CertificateFormatTestData { 887 const struct CertificateFormatTestData {
888 const char* file_name; 888 const char* file_name;
889 X509Certificate::Format format; 889 X509Certificate::Format format;
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
1267 &actual_type); 1267 &actual_type);
1268 1268
1269 EXPECT_EQ(data.expected_bits, actual_bits); 1269 EXPECT_EQ(data.expected_bits, actual_bits);
1270 EXPECT_EQ(data.expected_type, actual_type); 1270 EXPECT_EQ(data.expected_type, actual_type);
1271 } 1271 }
1272 1272
1273 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest, 1273 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest,
1274 testing::ValuesIn(kPublicKeyInfoTestData)); 1274 testing::ValuesIn(kPublicKeyInfoTestData));
1275 1275
1276 } // namespace net 1276 } // namespace net
OLDNEW
« no previous file with comments | « net/cert/nss_cert_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698