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

Side by Side Diff: net/base/cert_database_nss_unittest.cc

Issue 8342054: net: enable CRL sets behind a command line flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | net/base/cert_verifier.h » ('j') | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <cert.h> 5 #include <cert.h>
6 #include <pk11pub.h> 6 #include <pk11pub.h>
7 7
8 #include <algorithm> 8 #include <algorithm>
9 9
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 EXPECT_EQ("www.google.com", goog_cert->subject().common_name); 533 EXPECT_EQ("www.google.com", goog_cert->subject().common_name);
534 EXPECT_EQ("Thawte SGC CA", thawte_cert->subject().common_name); 534 EXPECT_EQ("Thawte SGC CA", thawte_cert->subject().common_name);
535 535
536 EXPECT_EQ(CertDatabase::UNTRUSTED, 536 EXPECT_EQ(CertDatabase::UNTRUSTED,
537 cert_db_.GetCertTrust(goog_cert.get(), SERVER_CERT)); 537 cert_db_.GetCertTrust(goog_cert.get(), SERVER_CERT));
538 psm::nsNSSCertTrust goog_trust(goog_cert->os_cert_handle()->trust); 538 psm::nsNSSCertTrust goog_trust(goog_cert->os_cert_handle()->trust);
539 EXPECT_TRUE(goog_trust.HasPeer(PR_TRUE, PR_TRUE, PR_TRUE)); 539 EXPECT_TRUE(goog_trust.HasPeer(PR_TRUE, PR_TRUE, PR_TRUE));
540 540
541 int flags = 0; 541 int flags = 0;
542 CertVerifyResult verify_result; 542 CertVerifyResult verify_result;
543 int error = goog_cert->Verify("www.google.com", flags, &verify_result); 543 int error = goog_cert->Verify("www.google.com", flags, NULL, &verify_result);
544 EXPECT_EQ(OK, error); 544 EXPECT_EQ(OK, error);
545 EXPECT_EQ(0U, verify_result.cert_status); 545 EXPECT_EQ(0U, verify_result.cert_status);
546 } 546 }
547 547
548 TEST_F(CertDatabaseNSSTest, ImportServerCert_SelfSigned) { 548 TEST_F(CertDatabaseNSSTest, ImportServerCert_SelfSigned) {
549 CertificateList certs; 549 CertificateList certs;
550 ASSERT_TRUE(ReadCertIntoList("punycodetest.der", &certs)); 550 ASSERT_TRUE(ReadCertIntoList("punycodetest.der", &certs));
551 551
552 CertDatabase::ImportCertFailureList failed; 552 CertDatabase::ImportCertFailureList failed;
553 EXPECT_TRUE(cert_db_.ImportServerCert(certs, &failed)); 553 EXPECT_TRUE(cert_db_.ImportServerCert(certs, &failed));
554 554
555 EXPECT_EQ(0U, failed.size()); 555 EXPECT_EQ(0U, failed.size());
556 556
557 CertificateList cert_list = ListCertsInSlot(slot_->os_module_handle()); 557 CertificateList cert_list = ListCertsInSlot(slot_->os_module_handle());
558 ASSERT_EQ(1U, cert_list.size()); 558 ASSERT_EQ(1U, cert_list.size());
559 scoped_refptr<X509Certificate> puny_cert(cert_list[0]); 559 scoped_refptr<X509Certificate> puny_cert(cert_list[0]);
560 560
561 EXPECT_EQ(CertDatabase::UNTRUSTED, 561 EXPECT_EQ(CertDatabase::UNTRUSTED,
562 cert_db_.GetCertTrust(puny_cert.get(), SERVER_CERT)); 562 cert_db_.GetCertTrust(puny_cert.get(), SERVER_CERT));
563 psm::nsNSSCertTrust puny_trust(puny_cert->os_cert_handle()->trust); 563 psm::nsNSSCertTrust puny_trust(puny_cert->os_cert_handle()->trust);
564 EXPECT_TRUE(puny_trust.HasPeer(PR_TRUE, PR_TRUE, PR_TRUE)); 564 EXPECT_TRUE(puny_trust.HasPeer(PR_TRUE, PR_TRUE, PR_TRUE));
565 565
566 int flags = 0; 566 int flags = 0;
567 CertVerifyResult verify_result; 567 CertVerifyResult verify_result;
568 int error = puny_cert->Verify("xn--wgv71a119e.com", flags, &verify_result); 568 int error = puny_cert->Verify("xn--wgv71a119e.com", flags, NULL,
569 &verify_result);
569 EXPECT_EQ(ERR_CERT_AUTHORITY_INVALID, error); 570 EXPECT_EQ(ERR_CERT_AUTHORITY_INVALID, error);
570 EXPECT_EQ(CERT_STATUS_AUTHORITY_INVALID, verify_result.cert_status); 571 EXPECT_EQ(CERT_STATUS_AUTHORITY_INVALID, verify_result.cert_status);
571 572
572 // TODO(mattm): this should be SERVER_CERT, not CA_CERT, but that does not 573 // TODO(mattm): this should be SERVER_CERT, not CA_CERT, but that does not
573 // work due to NSS bug: https://bugzilla.mozilla.org/show_bug.cgi?id=531160 574 // work due to NSS bug: https://bugzilla.mozilla.org/show_bug.cgi?id=531160
574 EXPECT_TRUE(cert_db_.SetCertTrust( 575 EXPECT_TRUE(cert_db_.SetCertTrust(
575 puny_cert.get(), CA_CERT, 576 puny_cert.get(), CA_CERT,
576 CertDatabase::TRUSTED_SSL | CertDatabase::TRUSTED_EMAIL)); 577 CertDatabase::TRUSTED_SSL | CertDatabase::TRUSTED_EMAIL));
577 578
578 verify_result.Reset(); 579 verify_result.Reset();
579 error = puny_cert->Verify("xn--wgv71a119e.com", flags, &verify_result); 580 error = puny_cert->Verify("xn--wgv71a119e.com", flags, NULL, &verify_result);
580 EXPECT_EQ(OK, error); 581 EXPECT_EQ(OK, error);
581 EXPECT_EQ(0U, verify_result.cert_status); 582 EXPECT_EQ(0U, verify_result.cert_status);
582 } 583 }
583 584
584 } // namespace net 585 } // namespace net
OLDNEW
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | net/base/cert_verifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698