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

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

Issue 1893203005: Remove x509_certificate_model_openssl.cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove tests Created 4 years, 7 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 | « chrome/common/net/x509_certificate_model_openssl.cc ('k') | chrome/test/BUILD.gn » ('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) 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "net/base/test_data_directory.h" 10 #include "net/base/test_data_directory.h"
(...skipping 19 matching lines...) Expand all
30 "punycodetest.pem")); 30 "punycodetest.pem"));
31 ASSERT_TRUE(punycode_cert.get()); 31 ASSERT_TRUE(punycode_cert.get());
32 EXPECT_EQ("xn--wgv71a119e.com (日本語.com)", 32 EXPECT_EQ("xn--wgv71a119e.com (日本語.com)",
33 x509_certificate_model::GetCertNameOrNickname( 33 x509_certificate_model::GetCertNameOrNickname(
34 punycode_cert->os_cert_handle())); 34 punycode_cert->os_cert_handle()));
35 35
36 scoped_refptr<net::X509Certificate> no_cn_cert( 36 scoped_refptr<net::X509Certificate> no_cn_cert(
37 net::ImportCertFromFile(net::GetTestCertsDirectory(), 37 net::ImportCertFromFile(net::GetTestCertsDirectory(),
38 "no_subject_common_name_cert.pem")); 38 "no_subject_common_name_cert.pem"));
39 ASSERT_TRUE(no_cn_cert.get()); 39 ASSERT_TRUE(no_cn_cert.get());
40 #if defined(USE_OPENSSL_CERTS)
41 EXPECT_EQ("emailAddress=wtc@google.com",
42 x509_certificate_model::GetCertNameOrNickname(
43 no_cn_cert->os_cert_handle()));
44 #else
45 // Temp cert has no nickname. 40 // Temp cert has no nickname.
46 EXPECT_EQ("", 41 EXPECT_EQ("",
47 x509_certificate_model::GetCertNameOrNickname( 42 x509_certificate_model::GetCertNameOrNickname(
48 no_cn_cert->os_cert_handle())); 43 no_cn_cert->os_cert_handle()));
49 #endif
50 44
51 EXPECT_EQ("xn--wgv71a119e.com", 45 EXPECT_EQ("xn--wgv71a119e.com",
52 x509_certificate_model::GetTitle( 46 x509_certificate_model::GetTitle(
53 punycode_cert->os_cert_handle())); 47 punycode_cert->os_cert_handle()));
54 48
55 #if defined(USE_OPENSSL_CERTS)
56 EXPECT_EQ("emailAddress=wtc@google.com",
57 x509_certificate_model::GetTitle(
58 no_cn_cert->os_cert_handle()));
59 #else
60 EXPECT_EQ("E=wtc@google.com", 49 EXPECT_EQ("E=wtc@google.com",
61 x509_certificate_model::GetTitle( 50 x509_certificate_model::GetTitle(
62 no_cn_cert->os_cert_handle())); 51 no_cn_cert->os_cert_handle()));
63 #endif
64 52
65 scoped_refptr<net::X509Certificate> no_cn_cert2(net::ImportCertFromFile( 53 scoped_refptr<net::X509Certificate> no_cn_cert2(net::ImportCertFromFile(
66 net::GetTestCertsDirectory(), "ct-test-embedded-cert.pem")); 54 net::GetTestCertsDirectory(), "ct-test-embedded-cert.pem"));
67 ASSERT_TRUE(no_cn_cert2.get()); 55 ASSERT_TRUE(no_cn_cert2.get());
68 EXPECT_EQ("L=Erw Wen,ST=Wales,O=Certificate Transparency,C=GB", 56 EXPECT_EQ("L=Erw Wen,ST=Wales,O=Certificate Transparency,C=GB",
69 x509_certificate_model::GetTitle(no_cn_cert2->os_cert_handle())); 57 x509_certificate_model::GetTitle(no_cn_cert2->os_cert_handle()));
70 } 58 }
71 59
72 TEST(X509CertificateModelTest, GetExtensions) { 60 TEST(X509CertificateModelTest, GetExtensions) {
73 { 61 {
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 extensions[3].value); 206 extensions[3].value);
219 } 207 }
220 } 208 }
221 209
222 TEST(X509CertificateModelTest, GetTypeCA) { 210 TEST(X509CertificateModelTest, GetTypeCA) {
223 scoped_refptr<net::X509Certificate> cert( 211 scoped_refptr<net::X509Certificate> cert(
224 net::ImportCertFromFile(net::GetTestCertsDirectory(), 212 net::ImportCertFromFile(net::GetTestCertsDirectory(),
225 "root_ca_cert.pem")); 213 "root_ca_cert.pem"));
226 ASSERT_TRUE(cert.get()); 214 ASSERT_TRUE(cert.get());
227 215
228 #if defined(USE_OPENSSL_CERTS)
229 // Remove this when OpenSSL build implements the necessary functions.
230 EXPECT_EQ(net::OTHER_CERT,
231 x509_certificate_model::GetType(cert->os_cert_handle()));
232 #else
233 EXPECT_EQ(net::CA_CERT, 216 EXPECT_EQ(net::CA_CERT,
234 x509_certificate_model::GetType(cert->os_cert_handle())); 217 x509_certificate_model::GetType(cert->os_cert_handle()));
235 218
236 crypto::ScopedTestNSSDB test_nssdb; 219 crypto::ScopedTestNSSDB test_nssdb;
237 net::NSSCertDatabase db(crypto::ScopedPK11Slot(PK11_ReferenceSlot( 220 net::NSSCertDatabase db(crypto::ScopedPK11Slot(PK11_ReferenceSlot(
238 test_nssdb.slot())) /* public slot */, 221 test_nssdb.slot())) /* public slot */,
239 crypto::ScopedPK11Slot(PK11_ReferenceSlot( 222 crypto::ScopedPK11Slot(PK11_ReferenceSlot(
240 test_nssdb.slot())) /* private slot */); 223 test_nssdb.slot())) /* private slot */);
241 224
242 // Test that explicitly distrusted CA certs are still returned as CA_CERT 225 // Test that explicitly distrusted CA certs are still returned as CA_CERT
243 // type. See http://crbug.com/96654. 226 // type. See http://crbug.com/96654.
244 EXPECT_TRUE(db.SetCertTrust( 227 EXPECT_TRUE(db.SetCertTrust(
245 cert.get(), net::CA_CERT, net::NSSCertDatabase::DISTRUSTED_SSL)); 228 cert.get(), net::CA_CERT, net::NSSCertDatabase::DISTRUSTED_SSL));
246 229
247 EXPECT_EQ(net::CA_CERT, 230 EXPECT_EQ(net::CA_CERT,
248 x509_certificate_model::GetType(cert->os_cert_handle())); 231 x509_certificate_model::GetType(cert->os_cert_handle()));
249 #endif
250 } 232 }
251 233
252 TEST(X509CertificateModelTest, GetTypeServer) { 234 TEST(X509CertificateModelTest, GetTypeServer) {
253 scoped_refptr<net::X509Certificate> cert( 235 scoped_refptr<net::X509Certificate> cert(
254 net::ImportCertFromFile(net::GetTestCertsDirectory(), 236 net::ImportCertFromFile(net::GetTestCertsDirectory(),
255 "google.single.der")); 237 "google.single.der"));
256 ASSERT_TRUE(cert.get()); 238 ASSERT_TRUE(cert.get());
257 239
258 #if defined(USE_OPENSSL_CERTS)
259 // Remove this when OpenSSL build implements the necessary functions.
260 EXPECT_EQ(net::OTHER_CERT,
261 x509_certificate_model::GetType(cert->os_cert_handle()));
262 #else
263 // Test mozilla_security_manager::GetCertType with server certs and default 240 // Test mozilla_security_manager::GetCertType with server certs and default
264 // trust. Currently this doesn't work. 241 // trust. Currently this doesn't work.
265 // TODO(mattm): make mozilla_security_manager::GetCertType smarter so we can 242 // TODO(mattm): make mozilla_security_manager::GetCertType smarter so we can
266 // tell server certs even if they have no trust bits set. 243 // tell server certs even if they have no trust bits set.
267 EXPECT_EQ(net::OTHER_CERT, 244 EXPECT_EQ(net::OTHER_CERT,
268 x509_certificate_model::GetType(cert->os_cert_handle())); 245 x509_certificate_model::GetType(cert->os_cert_handle()));
269 246
270 crypto::ScopedTestNSSDB test_nssdb; 247 crypto::ScopedTestNSSDB test_nssdb;
271 net::NSSCertDatabase db(crypto::ScopedPK11Slot(PK11_ReferenceSlot( 248 net::NSSCertDatabase db(crypto::ScopedPK11Slot(PK11_ReferenceSlot(
272 test_nssdb.slot())) /* public slot */, 249 test_nssdb.slot())) /* public slot */,
273 crypto::ScopedPK11Slot(PK11_ReferenceSlot( 250 crypto::ScopedPK11Slot(PK11_ReferenceSlot(
274 test_nssdb.slot())) /* private slot */); 251 test_nssdb.slot())) /* private slot */);
275 252
276 // Test GetCertType with server certs and explicit trust. 253 // Test GetCertType with server certs and explicit trust.
277 EXPECT_TRUE(db.SetCertTrust( 254 EXPECT_TRUE(db.SetCertTrust(
278 cert.get(), net::SERVER_CERT, net::NSSCertDatabase::TRUSTED_SSL)); 255 cert.get(), net::SERVER_CERT, net::NSSCertDatabase::TRUSTED_SSL));
279 256
280 EXPECT_EQ(net::SERVER_CERT, 257 EXPECT_EQ(net::SERVER_CERT,
281 x509_certificate_model::GetType(cert->os_cert_handle())); 258 x509_certificate_model::GetType(cert->os_cert_handle()));
282 259
283 // Test GetCertType with server certs and explicit distrust. 260 // Test GetCertType with server certs and explicit distrust.
284 EXPECT_TRUE(db.SetCertTrust( 261 EXPECT_TRUE(db.SetCertTrust(
285 cert.get(), net::SERVER_CERT, net::NSSCertDatabase::DISTRUSTED_SSL)); 262 cert.get(), net::SERVER_CERT, net::NSSCertDatabase::DISTRUSTED_SSL));
286 263
287 EXPECT_EQ(net::SERVER_CERT, 264 EXPECT_EQ(net::SERVER_CERT,
288 x509_certificate_model::GetType(cert->os_cert_handle())); 265 x509_certificate_model::GetType(cert->os_cert_handle()));
289 #endif
290 } 266 }
291 267
292 // An X.509 v1 certificate with the version field omitted should get 268 // An X.509 v1 certificate with the version field omitted should get
293 // the default value v1. 269 // the default value v1.
294 TEST(X509CertificateModelTest, GetVersionOmitted) { 270 TEST(X509CertificateModelTest, GetVersionOmitted) {
295 scoped_refptr<net::X509Certificate> cert( 271 scoped_refptr<net::X509Certificate> cert(
296 net::ImportCertFromFile(net::GetTestCertsDirectory(), 272 net::ImportCertFromFile(net::GetTestCertsDirectory(),
297 "ndn.ca.crt")); 273 "ndn.ca.crt"));
298 ASSERT_TRUE(cert.get()); 274 ASSERT_TRUE(cert.get());
299 275
(...skipping 18 matching lines...) Expand all
318 294
319 ASSERT_FALSE(pkcs7_string.empty()); 295 ASSERT_FALSE(pkcs7_string.empty());
320 296
321 net::CertificateList decoded_certs = 297 net::CertificateList decoded_certs =
322 net::X509Certificate::CreateCertificateListFromBytes( 298 net::X509Certificate::CreateCertificateListFromBytes(
323 pkcs7_string.data(), 299 pkcs7_string.data(),
324 pkcs7_string.size(), 300 pkcs7_string.size(),
325 net::X509Certificate::FORMAT_PKCS7); 301 net::X509Certificate::FORMAT_PKCS7);
326 302
327 ASSERT_EQ(certs.size(), decoded_certs.size()); 303 ASSERT_EQ(certs.size(), decoded_certs.size());
328 #if defined(USE_OPENSSL_CERTS) 304
329 for (size_t i = 0; i < certs.size(); ++i)
330 EXPECT_TRUE(certs[i]->Equals(decoded_certs[i].get()));
331 #else
332 // NSS sorts the certs before writing the file. 305 // NSS sorts the certs before writing the file.
333 EXPECT_TRUE(certs[0]->Equals(decoded_certs.back().get())); 306 EXPECT_TRUE(certs[0]->Equals(decoded_certs.back().get()));
334 for (size_t i = 1; i < certs.size(); ++i) 307 for (size_t i = 1; i < certs.size(); ++i)
335 EXPECT_TRUE(certs[i]->Equals(decoded_certs[i - 1].get())); 308 EXPECT_TRUE(certs[i]->Equals(decoded_certs[i - 1].get()));
336 #endif
337 } 309 }
338 310
339 { 311 {
340 // Write only the first cert. 312 // Write only the first cert.
341 std::string pkcs7_string = 313 std::string pkcs7_string =
342 x509_certificate_model::GetCMSString(cert_handles, 0, 1); 314 x509_certificate_model::GetCMSString(cert_handles, 0, 1);
343 315
344 net::CertificateList decoded_certs = 316 net::CertificateList decoded_certs =
345 net::X509Certificate::CreateCertificateListFromBytes( 317 net::X509Certificate::CreateCertificateListFromBytes(
346 pkcs7_string.data(), 318 pkcs7_string.data(),
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 "35 61 5D C9 76 6D B0 F2 1E BF 30 86 D8 77 52 36\n" 375 "35 61 5D C9 76 6D B0 F2 1E BF 30 86 D8 77 52 36\n"
404 "95 97 0E D1 46 C5 ED 81 3D 1B B0 F2 61 95 3C C1\n" 376 "95 97 0E D1 46 C5 ED 81 3D 1B B0 F2 61 95 3C C1\n"
405 "40 38 EF 5F 5D BA 61 9F EF 2B 9C 9F 85 89 74 70\n" 377 "40 38 EF 5F 5D BA 61 9F EF 2B 9C 9F 85 89 74 70\n"
406 "63 D5 76 E8 35 7E CE 01 E1 F3 11 11 90 1C 0D F5\n" 378 "63 D5 76 E8 35 7E CE 01 E1 F3 11 11 90 1C 0D F5\n"
407 "FD 8D CE 10 6C AD 7C 55 1A 21 6F D7 2D F4 78 15\n" 379 "FD 8D CE 10 6C AD 7C 55 1A 21 6F D7 2D F4 78 15\n"
408 "EA 2F 38 BD 91 9E 3C 1D 07 46 F5 43 C1 82 8B AF\n" 380 "EA 2F 38 BD 91 9E 3C 1D 07 46 F5 43 C1 82 8B AF\n"
409 "12 53 65 19 8A 69 69 66 06 B2 DA 0B FA 2A 00 A1\n" 381 "12 53 65 19 8A 69 69 66 06 B2 DA 0B FA 2A 00 A1\n"
410 "2A 15 84 49 F1 01 BF 9B 30 06 D0 15 A0 1F 9D 51\n" 382 "2A 15 84 49 F1 01 BF 9B 30 06 D0 15 A0 1F 9D 51\n"
411 "91 47 E1 53 5F EF 5E EC C2 61 79 C2 14 9F C4 E3\n" 383 "91 47 E1 53 5F EF 5E EC C2 61 79 C2 14 9F C4 E3\n"
412 "\n" 384 "\n"
413 #if defined(USE_OPENSSL_CERTS)
414 " Public Exponent (17 bits):\n"
415 #else
416 " Public Exponent (24 bits):\n" 385 " Public Exponent (24 bits):\n"
417 #endif
418 " 01 00 01", 386 " 01 00 01",
419 x509_certificate_model::ProcessSubjectPublicKeyInfo( 387 x509_certificate_model::ProcessSubjectPublicKeyInfo(
420 cert->os_cert_handle())); 388 cert->os_cert_handle()));
421 } 389 }
422 { 390 {
423 scoped_refptr<net::X509Certificate> cert(net::ImportCertFromFile( 391 scoped_refptr<net::X509Certificate> cert(net::ImportCertFromFile(
424 net::GetTestCertsDirectory(), "prime256v1-ecdsa-intermediate.pem")); 392 net::GetTestCertsDirectory(), "prime256v1-ecdsa-intermediate.pem"));
425 ASSERT_TRUE(cert.get()); 393 ASSERT_TRUE(cert.get());
426 394
427 EXPECT_EQ( 395 EXPECT_EQ(
(...skipping 25 matching lines...) Expand all
453 "10 21 14 7F 1B 70 3D 89 1A 40 8A 06 2C 5D 50 19\n" 421 "10 21 14 7F 1B 70 3D 89 1A 40 8A 06 2C 5D 50 19\n"
454 "62 F9 C7 45 89 F2 3D 66 05 3D 7D 75 5B 55 1E 80\n" 422 "62 F9 C7 45 89 F2 3D 66 05 3D 7D 75 5B 55 1E 80\n"
455 "42 72 A1 9A 7C 6D 0A 74 F6 EE A6 21 6C 3A 98 FB\n" 423 "42 72 A1 9A 7C 6D 0A 74 F6 EE A6 21 6C 3A 98 FB\n"
456 "77 82 5F F2 6B 56 E6 DD 9B 8E 50 F0 C6 AE FD EA\n" 424 "77 82 5F F2 6B 56 E6 DD 9B 8E 50 F0 C6 AE FD EA\n"
457 "A6 05 07 A9 26 06 56 B3 B2 D9 B2 37 A0 21 3E 79\n" 425 "A6 05 07 A9 26 06 56 B3 B2 D9 B2 37 A0 21 3E 79\n"
458 "06 1F B9 51 BE F4 B1 49 4D 90 B5 33 E5 0E C7 5E\n" 426 "06 1F B9 51 BE F4 B1 49 4D 90 B5 33 E5 0E C7 5E\n"
459 "5B 40 C5 6A 04 D1 43 7A 94 6A A4 4F 61 FC 82 E0", 427 "5B 40 C5 6A 04 D1 43 7A 94 6A A4 4F 61 FC 82 E0",
460 x509_certificate_model::ProcessRawBitsSignatureWrap( 428 x509_certificate_model::ProcessRawBitsSignatureWrap(
461 cert->os_cert_handle())); 429 cert->os_cert_handle()));
462 } 430 }
OLDNEW
« no previous file with comments | « chrome/common/net/x509_certificate_model_openssl.cc ('k') | chrome/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698