| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chromeos/network/onc/onc_certificate_importer_impl.h" | 5 #include "chromeos/network/onc/onc_certificate_importer_impl.h" |
| 6 | 6 |
| 7 #include <cert.h> | 7 #include <cert.h> |
| 8 #include <certdb.h> | 8 #include <certdb.h> |
| 9 #include <keyhi.h> | 9 #include <keyhi.h> |
| 10 #include <pk11pub.h> | 10 #include <pk11pub.h> |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "net/cert/cert_type.h" | 23 #include "net/cert/cert_type.h" |
| 24 #include "net/cert/nss_cert_database_chromeos.h" | 24 #include "net/cert/nss_cert_database_chromeos.h" |
| 25 #include "net/cert/x509_certificate.h" | 25 #include "net/cert/x509_certificate.h" |
| 26 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
| 27 | 27 |
| 28 namespace chromeos { | 28 namespace chromeos { |
| 29 namespace onc { | 29 namespace onc { |
| 30 | 30 |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 #if defined(USE_NSS) | 33 #if defined(USE_NSS_CERTS) |
| 34 // In NSS 3.13, CERTDB_VALID_PEER was renamed CERTDB_TERMINAL_RECORD. So we use | 34 // In NSS 3.13, CERTDB_VALID_PEER was renamed CERTDB_TERMINAL_RECORD. So we use |
| 35 // the new name of the macro. | 35 // the new name of the macro. |
| 36 #if !defined(CERTDB_TERMINAL_RECORD) | 36 #if !defined(CERTDB_TERMINAL_RECORD) |
| 37 #define CERTDB_TERMINAL_RECORD CERTDB_VALID_PEER | 37 #define CERTDB_TERMINAL_RECORD CERTDB_VALID_PEER |
| 38 #endif | 38 #endif |
| 39 | 39 |
| 40 net::CertType GetCertType(net::X509Certificate::OSCertHandle cert) { | 40 net::CertType GetCertType(net::X509Certificate::OSCertHandle cert) { |
| 41 CERTCertTrust trust = {0}; | 41 CERTCertTrust trust = {0}; |
| 42 CERT_GetCertTrust(cert, &trust); | 42 CERT_GetCertTrust(cert, &trust); |
| 43 | 43 |
| 44 unsigned all_flags = trust.sslFlags | trust.emailFlags | | 44 unsigned all_flags = trust.sslFlags | trust.emailFlags | |
| 45 trust.objectSigningFlags; | 45 trust.objectSigningFlags; |
| 46 | 46 |
| 47 if (cert->nickname && (all_flags & CERTDB_USER)) | 47 if (cert->nickname && (all_flags & CERTDB_USER)) |
| 48 return net::USER_CERT; | 48 return net::USER_CERT; |
| 49 if ((all_flags & CERTDB_VALID_CA) || CERT_IsCACert(cert, NULL)) | 49 if ((all_flags & CERTDB_VALID_CA) || CERT_IsCACert(cert, NULL)) |
| 50 return net::CA_CERT; | 50 return net::CA_CERT; |
| 51 // TODO(mattm): http://crbug.com/128633. | 51 // TODO(mattm): http://crbug.com/128633. |
| 52 if (trust.sslFlags & CERTDB_TERMINAL_RECORD) | 52 if (trust.sslFlags & CERTDB_TERMINAL_RECORD) |
| 53 return net::SERVER_CERT; | 53 return net::SERVER_CERT; |
| 54 return net::OTHER_CERT; | 54 return net::OTHER_CERT; |
| 55 } | 55 } |
| 56 #else | 56 #else |
| 57 net::CertType GetCertType(net::X509Certificate::OSCertHandle cert) { | 57 net::CertType GetCertType(net::X509Certificate::OSCertHandle cert) { |
| 58 NOTIMPLEMENTED(); | 58 NOTIMPLEMENTED(); |
| 59 return net::OTHER_CERT; | 59 return net::OTHER_CERT; |
| 60 } | 60 } |
| 61 #endif // USE_NSS | 61 #endif // USE_NSS_CERTS |
| 62 | 62 |
| 63 } // namespace | 63 } // namespace |
| 64 | 64 |
| 65 class ONCCertificateImporterImplTest : public testing::Test { | 65 class ONCCertificateImporterImplTest : public testing::Test { |
| 66 public: | 66 public: |
| 67 ONCCertificateImporterImplTest() {} | 67 ONCCertificateImporterImplTest() {} |
| 68 ~ONCCertificateImporterImplTest() override {} | 68 ~ONCCertificateImporterImplTest() override {} |
| 69 | 69 |
| 70 void SetUp() override { | 70 void SetUp() override { |
| 71 ASSERT_TRUE(public_nssdb_.is_open()); | 71 ASSERT_TRUE(public_nssdb_.is_open()); |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 "certificate-client-update.onc"), | 341 "certificate-client-update.onc"), |
| 342 CertParam(net::SERVER_CERT, | 342 CertParam(net::SERVER_CERT, |
| 343 "certificate-server.onc", | 343 "certificate-server.onc", |
| 344 "certificate-server-update.onc"), | 344 "certificate-server-update.onc"), |
| 345 CertParam(net::CA_CERT, | 345 CertParam(net::CA_CERT, |
| 346 "certificate-web-authority.onc", | 346 "certificate-web-authority.onc", |
| 347 "certificate-web-authority-update.onc"))); | 347 "certificate-web-authority-update.onc"))); |
| 348 | 348 |
| 349 } // namespace onc | 349 } // namespace onc |
| 350 } // namespace chromeos | 350 } // namespace chromeos |
| OLD | NEW |