OLD | NEW |
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 "net/cert/x509_certificate.h" | 5 #include "net/cert/x509_certificate.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1102 | 1102 |
1103 std::string common_name(test_data.common_name); | 1103 std::string common_name(test_data.common_name); |
1104 ASSERT_EQ(std::string::npos, common_name.find(',')); | 1104 ASSERT_EQ(std::string::npos, common_name.find(',')); |
1105 std::replace(common_name.begin(), common_name.end(), '#', '\0'); | 1105 std::replace(common_name.begin(), common_name.end(), '#', '\0'); |
1106 | 1106 |
1107 std::vector<std::string> dns_names, ip_addressses; | 1107 std::vector<std::string> dns_names, ip_addressses; |
1108 if (test_data.dns_names) { | 1108 if (test_data.dns_names) { |
1109 // Build up the certificate DNS names list. | 1109 // Build up the certificate DNS names list. |
1110 std::string dns_name_line(test_data.dns_names); | 1110 std::string dns_name_line(test_data.dns_names); |
1111 std::replace(dns_name_line.begin(), dns_name_line.end(), '#', '\0'); | 1111 std::replace(dns_name_line.begin(), dns_name_line.end(), '#', '\0'); |
1112 base::SplitString(dns_name_line, ',', &dns_names); | 1112 dns_names = base::SplitString(dns_name_line, ",", base::TRIM_WHITESPACE, |
| 1113 base::SPLIT_WANT_ALL); |
1113 } | 1114 } |
1114 | 1115 |
1115 if (test_data.ip_addrs) { | 1116 if (test_data.ip_addrs) { |
1116 // Build up the certificate IP address list. | 1117 // Build up the certificate IP address list. |
1117 std::string ip_addrs_line(test_data.ip_addrs); | 1118 std::string ip_addrs_line(test_data.ip_addrs); |
1118 std::vector<std::string> ip_addressses_ascii; | 1119 std::vector<std::string> ip_addressses_ascii = base::SplitString( |
1119 base::SplitString(ip_addrs_line, ',', &ip_addressses_ascii); | 1120 ip_addrs_line, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
1120 for (size_t i = 0; i < ip_addressses_ascii.size(); ++i) { | 1121 for (size_t i = 0; i < ip_addressses_ascii.size(); ++i) { |
1121 std::string& addr_ascii = ip_addressses_ascii[i]; | 1122 std::string& addr_ascii = ip_addressses_ascii[i]; |
1122 ASSERT_NE(0U, addr_ascii.length()); | 1123 ASSERT_NE(0U, addr_ascii.length()); |
1123 if (addr_ascii[0] == 'x') { // Hex encoded address | 1124 if (addr_ascii[0] == 'x') { // Hex encoded address |
1124 addr_ascii.erase(0, 1); | 1125 addr_ascii.erase(0, 1); |
1125 std::vector<uint8_t> bytes; | 1126 std::vector<uint8_t> bytes; |
1126 EXPECT_TRUE(base::HexStringToBytes(addr_ascii, &bytes)) | 1127 EXPECT_TRUE(base::HexStringToBytes(addr_ascii, &bytes)) |
1127 << "Could not parse hex address " << addr_ascii << " i = " << i; | 1128 << "Could not parse hex address " << addr_ascii << " i = " << i; |
1128 ip_addressses.push_back(std::string(reinterpret_cast<char*>(&bytes[0]), | 1129 ip_addressses.push_back(std::string(reinterpret_cast<char*>(&bytes[0]), |
1129 bytes.size())); | 1130 bytes.size())); |
1130 ASSERT_EQ(16U, ip_addressses.back().size()) << i; | 1131 ASSERT_EQ(16U, ip_addressses.back().size()) << i; |
1131 } else { // Decimal groups | 1132 } else { // Decimal groups |
1132 std::vector<std::string> decimals_ascii; | 1133 std::vector<std::string> decimals_ascii = base::SplitString( |
1133 base::SplitString(addr_ascii, '.', &decimals_ascii); | 1134 addr_ascii, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
1134 EXPECT_EQ(4U, decimals_ascii.size()) << i; | 1135 EXPECT_EQ(4U, decimals_ascii.size()) << i; |
1135 std::string addr_bytes; | 1136 std::string addr_bytes; |
1136 for (size_t j = 0; j < decimals_ascii.size(); ++j) { | 1137 for (size_t j = 0; j < decimals_ascii.size(); ++j) { |
1137 int decimal_value; | 1138 int decimal_value; |
1138 EXPECT_TRUE(base::StringToInt(decimals_ascii[j], &decimal_value)); | 1139 EXPECT_TRUE(base::StringToInt(decimals_ascii[j], &decimal_value)); |
1139 EXPECT_GE(decimal_value, 0); | 1140 EXPECT_GE(decimal_value, 0); |
1140 EXPECT_LE(decimal_value, 255); | 1141 EXPECT_LE(decimal_value, 255); |
1141 addr_bytes.push_back(static_cast<char>(decimal_value)); | 1142 addr_bytes.push_back(static_cast<char>(decimal_value)); |
1142 } | 1143 } |
1143 ip_addressses.push_back(addr_bytes); | 1144 ip_addressses.push_back(addr_bytes); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1205 &actual_type); | 1206 &actual_type); |
1206 | 1207 |
1207 EXPECT_EQ(data.expected_bits, actual_bits); | 1208 EXPECT_EQ(data.expected_bits, actual_bits); |
1208 EXPECT_EQ(data.expected_type, actual_type); | 1209 EXPECT_EQ(data.expected_type, actual_type); |
1209 } | 1210 } |
1210 | 1211 |
1211 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest, | 1212 INSTANTIATE_TEST_CASE_P(, X509CertificatePublicKeyInfoTest, |
1212 testing::ValuesIn(kPublicKeyInfoTestData)); | 1213 testing::ValuesIn(kPublicKeyInfoTestData)); |
1213 | 1214 |
1214 } // namespace net | 1215 } // namespace net |
OLD | NEW |