| 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 |