x509_cert_types_unittest.cc 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // Copyright (c) 2010 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "net/cert/x509_cert_types.h"
  5. #include "net/test/test_certificate_data.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace net {
  8. namespace {
  9. TEST(X509TypesTest, ParseDNVerisign) {
  10. CertPrincipal verisign;
  11. EXPECT_TRUE(verisign.ParseDistinguishedName(VerisignDN, sizeof(VerisignDN)));
  12. EXPECT_EQ("", verisign.common_name);
  13. EXPECT_EQ("US", verisign.country_name);
  14. ASSERT_EQ(1U, verisign.organization_names.size());
  15. EXPECT_EQ("VeriSign, Inc.", verisign.organization_names[0]);
  16. ASSERT_EQ(1U, verisign.organization_unit_names.size());
  17. EXPECT_EQ("Class 1 Public Primary Certification Authority",
  18. verisign.organization_unit_names[0]);
  19. }
  20. TEST(X509TypesTest, ParseDNStartcom) {
  21. CertPrincipal startcom;
  22. EXPECT_TRUE(startcom.ParseDistinguishedName(StartComDN, sizeof(StartComDN)));
  23. EXPECT_EQ("StartCom Certification Authority", startcom.common_name);
  24. EXPECT_EQ("IL", startcom.country_name);
  25. ASSERT_EQ(1U, startcom.organization_names.size());
  26. EXPECT_EQ("StartCom Ltd.", startcom.organization_names[0]);
  27. ASSERT_EQ(1U, startcom.organization_unit_names.size());
  28. EXPECT_EQ("Secure Digital Certificate Signing",
  29. startcom.organization_unit_names[0]);
  30. }
  31. TEST(X509TypesTest, ParseDNUserTrust) {
  32. CertPrincipal usertrust;
  33. EXPECT_TRUE(usertrust.ParseDistinguishedName(UserTrustDN,
  34. sizeof(UserTrustDN)));
  35. EXPECT_EQ("UTN-USERFirst-Client Authentication and Email",
  36. usertrust.common_name);
  37. EXPECT_EQ("US", usertrust.country_name);
  38. EXPECT_EQ("UT", usertrust.state_or_province_name);
  39. EXPECT_EQ("Salt Lake City", usertrust.locality_name);
  40. ASSERT_EQ(1U, usertrust.organization_names.size());
  41. EXPECT_EQ("The USERTRUST Network", usertrust.organization_names[0]);
  42. ASSERT_EQ(1U, usertrust.organization_unit_names.size());
  43. EXPECT_EQ("http://www.usertrust.com",
  44. usertrust.organization_unit_names[0]);
  45. }
  46. TEST(X509TypesTest, ParseDNTurkTrust) {
  47. // Note: This tests parsing UTF8STRINGs.
  48. CertPrincipal turktrust;
  49. EXPECT_TRUE(turktrust.ParseDistinguishedName(TurkTrustDN,
  50. sizeof(TurkTrustDN)));
  51. EXPECT_EQ("TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı",
  52. turktrust.common_name);
  53. EXPECT_EQ("TR", turktrust.country_name);
  54. EXPECT_EQ("Ankara", turktrust.locality_name);
  55. ASSERT_EQ(1U, turktrust.organization_names.size());
  56. EXPECT_EQ("TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005",
  57. turktrust.organization_names[0]);
  58. }
  59. TEST(X509TypesTest, ParseDNATrust) {
  60. // Note: This tests parsing 16-bit BMPSTRINGs.
  61. CertPrincipal atrust;
  62. EXPECT_TRUE(atrust.ParseDistinguishedName(ATrustQual01DN,
  63. sizeof(ATrustQual01DN)));
  64. EXPECT_EQ("A-Trust-Qual-01",
  65. atrust.common_name);
  66. EXPECT_EQ("AT", atrust.country_name);
  67. ASSERT_EQ(1U, atrust.organization_names.size());
  68. EXPECT_EQ("A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH",
  69. atrust.organization_names[0]);
  70. ASSERT_EQ(1U, atrust.organization_unit_names.size());
  71. EXPECT_EQ("A-Trust-Qual-01",
  72. atrust.organization_unit_names[0]);
  73. }
  74. TEST(X509TypesTest, ParseDNEntrust) {
  75. // Note: This tests parsing T61STRINGs and fields with multiple values.
  76. CertPrincipal entrust;
  77. EXPECT_TRUE(entrust.ParseDistinguishedName(EntrustDN,
  78. sizeof(EntrustDN)));
  79. EXPECT_EQ("Entrust.net Certification Authority (2048)",
  80. entrust.common_name);
  81. EXPECT_EQ("", entrust.country_name);
  82. ASSERT_EQ(1U, entrust.organization_names.size());
  83. EXPECT_EQ("Entrust.net",
  84. entrust.organization_names[0]);
  85. ASSERT_EQ(2U, entrust.organization_unit_names.size());
  86. EXPECT_EQ("www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)",
  87. entrust.organization_unit_names[0]);
  88. EXPECT_EQ("(c) 1999 Entrust.net Limited",
  89. entrust.organization_unit_names[1]);
  90. }
  91. } // namespace
  92. } // namespace net