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

Side by Side Diff: chrome/common/net/x509_certificate_model_unittest.cc

Issue 10916094: Move the NSS functions out of CertDatabase into a new NSSCertDatabase class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 8 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 | Annotate | Revision Log
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 "chrome/common/net/x509_certificate_model.h" 5 #include "chrome/common/net/x509_certificate_model.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "net/base/cert_database.h"
11 #include "net/base/cert_test_util.h" 10 #include "net/base/cert_test_util.h"
11 #include "net/base/nss_cert_database.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 TEST(X509CertificateModelTest, GetTypeCA) { 14 TEST(X509CertificateModelTest, GetTypeCA) {
15 scoped_refptr<net::X509Certificate> cert( 15 scoped_refptr<net::X509Certificate> cert(
16 net::ImportCertFromFile(net::GetTestCertsDirectory(), 16 net::ImportCertFromFile(net::GetTestCertsDirectory(),
17 "root_ca_cert.crt")); 17 "root_ca_cert.crt"));
18 ASSERT_TRUE(cert.get()); 18 ASSERT_TRUE(cert.get());
19 19
20 #if defined(USE_OPENSSL) 20 #if defined(USE_OPENSSL)
21 // Remove this when OpenSSL build implements the necessary functions. 21 // Remove this when OpenSSL build implements the necessary functions.
22 EXPECT_EQ(net::UNKNOWN_CERT, 22 EXPECT_EQ(net::UNKNOWN_CERT,
23 x509_certificate_model::GetType(cert->os_cert_handle())); 23 x509_certificate_model::GetType(cert->os_cert_handle()));
24 #else 24 #else
25 EXPECT_EQ(net::CA_CERT, 25 EXPECT_EQ(net::CA_CERT,
26 x509_certificate_model::GetType(cert->os_cert_handle())); 26 x509_certificate_model::GetType(cert->os_cert_handle()));
27 27
28 // Test that explicitly distrusted CA certs are still returned as CA_CERT 28 // Test that explicitly distrusted CA certs are still returned as CA_CERT
29 // type. See http://crbug.com/96654. 29 // type. See http://crbug.com/96654.
30 net::CertDatabase cert_db; 30 net::NSSCertDatabase cert_db;
31 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::CA_CERT, 31 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::CA_CERT,
32 net::CertDatabase::DISTRUSTED_SSL)); 32 net::NSSCertDatabase::DISTRUSTED_SSL));
33 33
34 EXPECT_EQ(net::CA_CERT, 34 EXPECT_EQ(net::CA_CERT,
35 x509_certificate_model::GetType(cert->os_cert_handle())); 35 x509_certificate_model::GetType(cert->os_cert_handle()));
36 #endif 36 #endif
37 } 37 }
38 38
39 TEST(X509CertificateModelTest, GetTypeServer) { 39 TEST(X509CertificateModelTest, GetTypeServer) {
40 scoped_refptr<net::X509Certificate> cert( 40 scoped_refptr<net::X509Certificate> cert(
41 net::ImportCertFromFile(net::GetTestCertsDirectory(), 41 net::ImportCertFromFile(net::GetTestCertsDirectory(),
42 "google.single.der")); 42 "google.single.der"));
43 ASSERT_TRUE(cert.get()); 43 ASSERT_TRUE(cert.get());
44 44
45 #if defined(USE_OPENSSL) 45 #if defined(USE_OPENSSL)
46 // Remove this when OpenSSL build implements the necessary functions. 46 // Remove this when OpenSSL build implements the necessary functions.
47 EXPECT_EQ(net::UNKNOWN_CERT, 47 EXPECT_EQ(net::UNKNOWN_CERT,
48 x509_certificate_model::GetType(cert->os_cert_handle())); 48 x509_certificate_model::GetType(cert->os_cert_handle()));
49 #else 49 #else
50 // Test mozilla_security_manager::GetCertType with server certs and default 50 // Test mozilla_security_manager::GetCertType with server certs and default
51 // trust. Currently this doesn't work. 51 // trust. Currently this doesn't work.
52 // TODO(mattm): make mozilla_security_manager::GetCertType smarter so we can 52 // TODO(mattm): make mozilla_security_manager::GetCertType smarter so we can
53 // tell server certs even if they have no trust bits set. 53 // tell server certs even if they have no trust bits set.
54 EXPECT_EQ(net::UNKNOWN_CERT, 54 EXPECT_EQ(net::UNKNOWN_CERT,
55 x509_certificate_model::GetType(cert->os_cert_handle())); 55 x509_certificate_model::GetType(cert->os_cert_handle()));
56 56
57 net::CertDatabase cert_db; 57 net::NSSCertDatabase cert_db;
58 // Test GetCertType with server certs and explicit trust. 58 // Test GetCertType with server certs and explicit trust.
59 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT, 59 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT,
60 net::CertDatabase::TRUSTED_SSL)); 60 net::NSSCertDatabase::TRUSTED_SSL));
61 61
62 EXPECT_EQ(net::SERVER_CERT, 62 EXPECT_EQ(net::SERVER_CERT,
63 x509_certificate_model::GetType(cert->os_cert_handle())); 63 x509_certificate_model::GetType(cert->os_cert_handle()));
64 64
65 // Test GetCertType with server certs and explicit distrust. 65 // Test GetCertType with server certs and explicit distrust.
66 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT, 66 EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT,
67 net::CertDatabase::DISTRUSTED_SSL)); 67 net::NSSCertDatabase::DISTRUSTED_SSL));
68 68
69 EXPECT_EQ(net::SERVER_CERT, 69 EXPECT_EQ(net::SERVER_CERT,
70 x509_certificate_model::GetType(cert->os_cert_handle())); 70 x509_certificate_model::GetType(cert->os_cert_handle()));
71 #endif 71 #endif
72 } 72 }
73 73
74 // An X.509 v1 certificate with the version field omitted should get 74 // An X.509 v1 certificate with the version field omitted should get
75 // the default value v1. 75 // the default value v1.
76 TEST(X509CertificateModelTest, GetVersionOmitted) { 76 TEST(X509CertificateModelTest, GetVersionOmitted) {
77 scoped_refptr<net::X509Certificate> cert( 77 scoped_refptr<net::X509Certificate> cert(
78 net::ImportCertFromFile(net::GetTestCertsDirectory(), 78 net::ImportCertFromFile(net::GetTestCertsDirectory(),
79 "ndn.ca.crt")); 79 "ndn.ca.crt"));
80 ASSERT_TRUE(cert.get()); 80 ASSERT_TRUE(cert.get());
81 81
82 EXPECT_EQ("1", x509_certificate_model::GetVersion(cert->os_cert_handle())); 82 EXPECT_EQ("1", x509_certificate_model::GetVersion(cert->os_cert_handle()));
83 } 83 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698