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

Side by Side Diff: chrome/browser/chromeos/cros/onc_network_parser_unittest.cc

Issue 8566056: This applies GUIDs to certificate and key nicknames when (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review edits Created 9 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/browser/chromeos/cros/onc_network_parser.h" 5 #include "chrome/browser/chromeos/cros/onc_network_parser.h"
6 6
7 #include <cert.h> 7 #include <cert.h>
8 #include <keyhi.h>
8 #include <pk11pub.h> 9 #include <pk11pub.h>
9 10
10 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
11 #include "base/scoped_temp_dir.h" 12 #include "base/scoped_temp_dir.h"
12 #include "base/values.h" 13 #include "base/values.h"
13 #include "chrome/browser/chromeos/cros/network_library.h" 14 #include "chrome/browser/chromeos/cros/network_library.h"
14 #include "crypto/nss_util.h" 15 #include "crypto/nss_util.h"
15 #include "net/base/cert_database.h" 16 #include "net/base/cert_database.h"
16 #include "net/base/crypto_module.h" 17 #include "net/base/crypto_module.h"
17 #include "net/base/x509_certificate.h" 18 #include "net/base/x509_certificate.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 20
20 namespace chromeos { 21 namespace chromeos {
21 22
23 namespace {
24 const char g_token_name[] = "OncNetworkParserTest token";
25 }
26
22 class OncNetworkParserTest : public testing::Test { 27 class OncNetworkParserTest : public testing::Test {
23 public: 28 public:
24 static void SetUpTestCase() { 29 static void SetUpTestCase() {
25 ASSERT_TRUE(temp_db_dir_.Get().CreateUniqueTempDir()); 30 ASSERT_TRUE(temp_db_dir_.Get().CreateUniqueTempDir());
26 // Ideally, we'd open a test DB for each test case, and close it 31 // Ideally, we'd open a test DB for each test case, and close it
27 // again, removing the temp dir, but unfortunately, there's a 32 // again, removing the temp dir, but unfortunately, there's a
28 // bug in NSS that prevents this from working, so we just open 33 // bug in NSS that prevents this from working, so we just open
29 // it once, and empty it for each test case. Here's the bug: 34 // it once, and empty it for each test case. Here's the bug:
30 // https://bugzilla.mozilla.org/show_bug.cgi?id=588269 35 // https://bugzilla.mozilla.org/show_bug.cgi?id=588269
31 ASSERT_TRUE( 36 ASSERT_TRUE(
32 crypto::OpenTestNSSDB(temp_db_dir_.Get().path(), 37 crypto::OpenTestNSSDB(temp_db_dir_.Get().path(), g_token_name));
33 "OncNetworkParserTest db"));
34 } 38 }
35 39
36 static void TearDownTestCase() { 40 static void TearDownTestCase() {
37 ASSERT_TRUE(temp_db_dir_.Get().Delete()); 41 ASSERT_TRUE(temp_db_dir_.Get().Delete());
38 } 42 }
39 43
40 virtual void SetUp() { 44 virtual void SetUp() {
41 slot_ = cert_db_.GetPublicModule(); 45 slot_ = cert_db_.GetPublicModule();
42 46
43 // Don't run the test if the setup failed. 47 // Don't run the test if the setup failed.
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X); 189 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X);
186 EXPECT_EQ(wifi->name(), "ssid"); 190 EXPECT_EQ(wifi->name(), "ssid");
187 EXPECT_EQ(wifi->auto_connect(), false); 191 EXPECT_EQ(wifi->auto_connect(), false);
188 EXPECT_EQ(wifi->eap_method(), EAP_METHOD_LEAP); 192 EXPECT_EQ(wifi->eap_method(), EAP_METHOD_LEAP);
189 EXPECT_EQ(wifi->eap_use_system_cas(), true); 193 EXPECT_EQ(wifi->eap_use_system_cas(), true);
190 EXPECT_EQ(wifi->eap_identity(), "user"); 194 EXPECT_EQ(wifi->eap_identity(), "user");
191 EXPECT_EQ(wifi->eap_passphrase(), "pass"); 195 EXPECT_EQ(wifi->eap_passphrase(), "pass");
192 EXPECT_EQ(wifi->eap_anonymous_identity(), "anon"); 196 EXPECT_EQ(wifi->eap_anonymous_identity(), "anon");
193 } 197 }
194 198
199 TEST_F(OncNetworkParserTest, TestAddClientCertificate) {
200 std::string test_blob(
201 "{"
202 " \"Certificates\": ["
203 " {"
204 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697ac}\","
205 " \"Type\": \"Client\","
206 " \"PKCS12\": \"MIIGUQIBAzCCBhcGCSqGSIb3DQEHAaCCBggEggYEMII"
207 "GADCCAv8GCSqGSIb3DQEHBqCCAvAwggLsAgEAMIIC5QYJKoZIhvcNAQcBMBwGCiqGSIb3"
208 "DQEMAQYwDgQIHnFaWM2Y0BgCAggAgIICuG4ou9mxkhpus8WictLJe+JOnSQrdNXV3FMQr"
209 "4pPJ6aJJFBMKZ80W2GpR8XNY/SSKkdaNr1puDm1bDBFGaHQuCKXYcWO8ynBQ1uoZaFaTT"
210 "FxWbbHo89Jrvw+gIrgpoOHQ0KECEbh5vOZCjGHoaQb4QZOkw/6Cuc4QRoCPJAI3pbSPG4"
211 "4kRbOuOaTZvBHSIPkGf3+R6byTvZ3Yiuw7IIzxUp2fYjtpCWd/NvtI70heJCWdb5hwCeN"
212 "afIEpX+MTVuhUegysIFkOMMlUBIQSI5ky8kjx0Yi82BT/dpz9QgrqFL8NnTMXp0JlKFGL"
213 "QwsIQhvGjw/E52fEWRy85B5eezgNsD4QOLeZkF0bQAz8kXfLi+0djxsHvH9W9X2pwaFiA"
214 "veXR15/v+wfCwQGSsRhISGLzg/gO1agbQdaexI9GlEeZW0FEY7TblarKh8TVGNrauU7GC"
215 "GDmD2w7wx2HTXfo9SbViFoYVKuxcrpHGGEtBffnIeAwN6BBee4v11jxv0i/QUdK5G6FbH"
216 "qlD1AhHsm0YvidYKqJ0cnN262xIJH7dhKq/qUiAT+qk3+d3/obqxbvVY+bDoJQ10Gzj1A"
217 "SMy4zcSL7KW1l99xxMr6OlKr4Sr23oGw4BIN73FB8S8qMzz/VzL4azDUyGpPkzWl0yXPs"
218 "HpFWh1nZlsQehyknyWDH/waKrrG8tVWxHZLgq+zrFxQTh63UHXSD+TXB+AQg2xmQMeWlf"
219 "vRcsKL8titZ6PnWCHTmZY+3ibv5avDsg7He6OcZOi9ZmYMx82QHuzb4aZ/T+OC05oA97n"
220 "VNbTN6t8okkRtBamMvVhtTJANVpsdPi8saEaVF8e9liwmpq2w7pqXnzgdzvjSUpPAa4dZ"
221 "BjWnZJvFOHuxZqiRzQdZbeh9+bXwsQJhRNe+d4EgFwuqebQOczeUi4NVTHTFiuPEjCCAv"
222 "kGCSqGSIb3DQEHAaCCAuoEggLmMIIC4jCCAt4GCyqGSIb3DQEMCgECoIICpjCCAqIwHAY"
223 "KKoZIhvcNAQwBAzAOBAi0znbEekG/MgICCAAEggKAJfFPaQyYYLohEA1ruAZfepwMVrR8"
224 "eLMx00kkfXN9EoZeFPj2q7TGdqmbkUSqXnZK1ums7pFCPLgP1CsPlsq/4ZPDT2LLVFZNL"
225 "OgmdQBOSTvycfsj0iKYrwRC55wJI2OXsc062sT7oa99apkgrEyHq7JbOhszfnv5+aVy/6"
226 "O115dncqFPW2ei4CBzLEZyYa+Mka6CGqSdm97WVmv0emDKTFEP/FN4TH/tS8Qm6Y7DTKG"
227 "CujC+hb6lTRFYJAD4uld132dv0xQFkwDZGfdnuGJuNZBDC0gZk3BYvOaCUD8Y9UB5IjfG"
228 "Jax2yrurY1wSGSlTurafDTPrKqIdBovwCPsad2xz1YHC2Yy0h1FyR+2uitDyNfTiETfug"
229 "3bFbjwodu9wmt31A2ZFn4JpUrTYoZ3LZXngC3nNTayU0Tkd1ICMep2GbCReL3ajOlgOKG"
230 "FVoOm/qDnhiH6W/ebtAQXqVpuKut8uY0X0Ocmx7mTpmxlfDSRiBY9rvnrGfnpfLMxtFeF"
231 "9jv3n8vSwvA0Xn0okAv1FWYLStiCpNxnD6lmXQvcmL/skAlJJpHY9/58qt/e5sGYrkKBw"
232 "3jnX40zaK4W7GeJvhij0MRr6yUL2lvaEcWDnK6K1F90G/ybKRCTHBCJzyBe7yHhZCc+Zc"
233 "vKK6DTi83fELTyupy08BkXt7oPdapxmKlZxTldo9FpPXSqrdRtAWhDkEkIEf8dMf8QrQr"
234 "3glCWfbcQ047URYX45AHRnLTLLkJfdY8+Y3KsHoqL2UrOrct+J1u0mmnLbonN3pB2B4nd"
235 "9X9vf9/uSFrgvk0iPO0Ro3UPRUIIYEP2Kx51pZZVDd++hl5gXtqe0NIpphGhxLycIdzEl"
236 "MCMGCSqGSIb3DQEJFTEWBBR1uVpGjHRddIEYuJhz/FgG4Onh6jAxMCEwCQYFKw4DAhoFA"
237 "AQU1M+0WRDkoVGbGg1jj7q2fI67qHIECBzRYESpgt5iAgIIAA==\""
238 " }"
239 " ],"
240 "}");
241 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ac}");
242 OncNetworkParser parser(test_blob);
243 ASSERT_EQ(1, parser.GetCertificatesSize());
244
245 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get();
246 EXPECT_TRUE(cert.get() != NULL);
247 EXPECT_STREQ(test_guid.c_str(), cert->GetLabel().c_str());
248
249 SECKEYPublicKeyList* pubkey_list =
250 PK11_ListPublicKeysInSlot(slot_->os_module_handle(), NULL);
251 EXPECT_TRUE(pubkey_list);
252 if (pubkey_list) {
253 SECKEYPublicKeyListNode* node = PUBKEY_LIST_HEAD(pubkey_list);
254 while (!PUBKEY_LIST_END(node, pubkey_list)) {
255 EXPECT_STREQ(test_guid.c_str(), PK11_GetPublicKeyNickname(node->key));
256 node = PUBKEY_LIST_NEXT(node);
257 }
258 }
259 SECKEY_DestroyPublicKeyList(pubkey_list);
260
261 SECKEYPrivateKeyList* privkey_list =
262 PK11_ListPrivKeysInSlot(slot_->os_module_handle(), NULL, NULL);
263 EXPECT_TRUE(privkey_list);
264 if (privkey_list) {
265 SECKEYPrivateKeyListNode* node = PRIVKEY_LIST_HEAD(privkey_list);
266 while (!PRIVKEY_LIST_END(node, privkey_list)) {
267 EXPECT_STREQ(test_guid.c_str(), PK11_GetPrivateKeyNickname(node->key));
268 node = PRIVKEY_LIST_NEXT(node);
269 }
270 }
271 SECKEY_DestroyPrivateKeyList(privkey_list);
272
273 net::CertificateList result_list;
274 cert_db_.ListCertsWithLabel(test_guid, &result_list);
275 ASSERT_EQ(1ul, result_list.size());
276 EXPECT_EQ(net::USER_CERT, result_list[0]->GetCertificateType());
277 }
278
195 TEST_F(OncNetworkParserTest, TestAddServerCertificate) { 279 TEST_F(OncNetworkParserTest, TestAddServerCertificate) {
196 std::string test_blob( 280 std::string test_blob(
197 "{" 281 "{"
198 " \"Certificates\": [" 282 " \"Certificates\": ["
199 " {" 283 " {"
200 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697aa}\"," 284 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697aa}\","
201 " \"Type\": \"Server\"," 285 " \"Type\": \"Server\","
202 " \"X509\": \"MIICWDCCAcECAxAAATANBgkqhkiG9w0BAQQFADCBkzEVM" 286 " \"X509\": \"MIICWDCCAcECAxAAATANBgkqhkiG9w0BAQQFADCBkzEVM"
203 "BMGA1UEChMMR29vZ2xlLCBJbmMuMREwDwYDVQQLEwhDaHJvbWVPUzEiMCAGCSqGSIb3DQ" 287 "BMGA1UEChMMR29vZ2xlLCBJbmMuMREwDwYDVQQLEwhDaHJvbWVPUzEiMCAGCSqGSIb3DQ"
204 "EJARYTZ3NwZW5jZXJAZ29vZ2xlLmNvbTEaMBgGA1UEBxMRTW91bnRhaW4gVmlldywgQ0E" 288 "EJARYTZ3NwZW5jZXJAZ29vZ2xlLmNvbTEaMBgGA1UEBxMRTW91bnRhaW4gVmlldywgQ0E"
205 "xCzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzENMAsGA1UEAxMEbG1hbzAeFw0xMTAzMTYy" 289 "xCzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzENMAsGA1UEAxMEbG1hbzAeFw0xMTAzMTYy"
206 "MzQ5MzhaFw0xMjAzMTUyMzQ5MzhaMFMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVM" 290 "MzQ5MzhaFw0xMjAzMTUyMzQ5MzhaMFMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVM"
207 "BMGA1UEChMMR29vZ2xlLCBJbmMuMREwDwYDVQQLEwhDaHJvbWVPUzENMAsGA1UEAxMEbG" 291 "BMGA1UEChMMR29vZ2xlLCBJbmMuMREwDwYDVQQLEwhDaHJvbWVPUzENMAsGA1UEAxMEbG"
208 "1hbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA31WiJ9LvprrhKtDlW0RdLFAO7Qj" 292 "1hbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA31WiJ9LvprrhKtDlW0RdLFAO7Qj"
209 "kvs+sG6j2Vp2aBSrlhALG/0BVHUhWi4F/HHJho+ncLHAg5AGO0sdAjYUdQG6tfPqjLsIA" 293 "kvs+sG6j2Vp2aBSrlhALG/0BVHUhWi4F/HHJho+ncLHAg5AGO0sdAjYUdQG6tfPqjLsIA"
210 "LtoKEZZdFe/JhmqOEaxWsSdu2S2RdPgCQOsP79EH58gXwu2gejCkJDmU22WL4YLuqOc17" 294 "LtoKEZZdFe/JhmqOEaxWsSdu2S2RdPgCQOsP79EH58gXwu2gejCkJDmU22WL4YLuqOc17"
211 "nxbDC8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCv4vMD+PMlfnftu4/6Yf/oMLE8yCOqZT" 295 "nxbDC8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCv4vMD+PMlfnftu4/6Yf/oMLE8yCOqZT"
212 "Q/dWCxB9PiJnOefiBeSzSZE6Uv3G7qnblZPVZaFeJMd+ostt0viCyPucFsFgLMyyoV1dM" 296 "Q/dWCxB9PiJnOefiBeSzSZE6Uv3G7qnblZPVZaFeJMd+ostt0viCyPucFsFgLMyyoV1dM"
213 "VPVwJT5Iq1AHehWXnTBbxUK9wioA5jOEKdroKjuSSsg/Q8Wx6cpJmttQz5olGPgstmACR" 297 "VPVwJT5Iq1AHehWXnTBbxUK9wioA5jOEKdroKjuSSsg/Q8Wx6cpJmttQz5olGPgstmACR"
214 "WA==\"" 298 "WA==\""
215 " }" 299 " }"
216 " ]," 300 " ],"
217 "}"); 301 "}");
302 std::string test_guid("{f998f760-272b-6939-4c2beffe428697aa}");
218 OncNetworkParser parser(test_blob); 303 OncNetworkParser parser(test_blob);
304 ASSERT_EQ(1, parser.GetCertificatesSize());
219 305
220 EXPECT_EQ(1, parser.GetCertificatesSize()); 306 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get();
221 EXPECT_TRUE(parser.ParseCertificate(0)); 307 EXPECT_TRUE(cert.get() != NULL);
308 EXPECT_STREQ(test_guid.c_str(), cert->GetLabel().c_str());
309
310 SECKEYPrivateKeyList* privkey_list =
311 PK11_ListPrivKeysInSlot(slot_->os_module_handle(), NULL, NULL);
312 EXPECT_FALSE(privkey_list);
313
314 SECKEYPublicKeyList* pubkey_list =
315 PK11_ListPublicKeysInSlot(slot_->os_module_handle(), NULL);
316 EXPECT_FALSE(pubkey_list);
317
318 net::CertificateList result_list;
319 cert_db_.ListCertsWithLabel(test_guid, &result_list);
320 ASSERT_EQ(1ul, result_list.size());
321 EXPECT_EQ(net::SERVER_CERT, result_list[0]->GetCertificateType());
222 } 322 }
223 323
224 TEST_F(OncNetworkParserTest, TestAddAuthorityCertificate) { 324 TEST_F(OncNetworkParserTest, TestAddAuthorityCertificate) {
225 const std::string test_blob("{" 325 const std::string test_blob("{"
226 " \"Certificates\": [" 326 " \"Certificates\": ["
227 " {" 327 " {"
228 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697ab}\"," 328 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697ab}\","
229 " \"Type\": \"Authority\"," 329 " \"Type\": \"Authority\","
230 " \"Trust\": [\"Web\"]," 330 " \"Trust\": [\"Web\"],"
231 " \"X509\": \"MIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3D" 331 " \"X509\": \"MIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3D"
(...skipping 11 matching lines...) Expand all
243 "bSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERM" 343 "bSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERM"
244 "A8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb2" 344 "A8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb2"
245 "0xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhM" 345 "0xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhM"
246 "CVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wi" 346 "CVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wi"
247 "Q4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY" 347 "Q4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY"
248 "2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg5" 348 "2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg5"
249 "1kohau6FauQx87by5NIRPdkNPvkQ==\"" 349 "1kohau6FauQx87by5NIRPdkNPvkQ==\""
250 " }" 350 " }"
251 " ]," 351 " ],"
252 "}"); 352 "}");
353 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ab}");
253 OncNetworkParser parser(test_blob); 354 OncNetworkParser parser(test_blob);
355 ASSERT_EQ(1, parser.GetCertificatesSize());
254 356
255 EXPECT_EQ(1, parser.GetCertificatesSize()); 357 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get();
256 EXPECT_TRUE(parser.ParseCertificate(0)); 358 EXPECT_TRUE(cert.get() != NULL);
257 } 359 EXPECT_STREQ(test_guid.c_str(), cert->GetLabel().c_str());
258 360
259 TEST_F(OncNetworkParserTest, TestAddClientCertificate) { 361 SECKEYPrivateKeyList* privkey_list =
260 std::string test_blob( 362 PK11_ListPrivKeysInSlot(slot_->os_module_handle(), NULL, NULL);
261 "{" 363 EXPECT_FALSE(privkey_list);
262 " \"Certificates\": ["
263 " {"
264 " \"GUID\": \"{f998f760-272b-6939-4c2beffe428697ac}\","
265 " \"Type\": \"Client\","
266 " \"PKCS12\": \"MIIGUQIBAzCCBhcGCSqGSIb3DQEHAaCCBggEggYEMII"
267 "GADCCAv8GCSqGSIb3DQEHBqCCAvAwggLsAgEAMIIC5QYJKoZIhvcNAQcBMBwGCiqGSIb3"
268 "DQEMAQYwDgQIHnFaWM2Y0BgCAggAgIICuG4ou9mxkhpus8WictLJe+JOnSQrdNXV3FMQr"
269 "4pPJ6aJJFBMKZ80W2GpR8XNY/SSKkdaNr1puDm1bDBFGaHQuCKXYcWO8ynBQ1uoZaFaTT"
270 "FxWbbHo89Jrvw+gIrgpoOHQ0KECEbh5vOZCjGHoaQb4QZOkw/6Cuc4QRoCPJAI3pbSPG4"
271 "4kRbOuOaTZvBHSIPkGf3+R6byTvZ3Yiuw7IIzxUp2fYjtpCWd/NvtI70heJCWdb5hwCeN"
272 "afIEpX+MTVuhUegysIFkOMMlUBIQSI5ky8kjx0Yi82BT/dpz9QgrqFL8NnTMXp0JlKFGL"
273 "QwsIQhvGjw/E52fEWRy85B5eezgNsD4QOLeZkF0bQAz8kXfLi+0djxsHvH9W9X2pwaFiA"
274 "veXR15/v+wfCwQGSsRhISGLzg/gO1agbQdaexI9GlEeZW0FEY7TblarKh8TVGNrauU7GC"
275 "GDmD2w7wx2HTXfo9SbViFoYVKuxcrpHGGEtBffnIeAwN6BBee4v11jxv0i/QUdK5G6FbH"
276 "qlD1AhHsm0YvidYKqJ0cnN262xIJH7dhKq/qUiAT+qk3+d3/obqxbvVY+bDoJQ10Gzj1A"
277 "SMy4zcSL7KW1l99xxMr6OlKr4Sr23oGw4BIN73FB8S8qMzz/VzL4azDUyGpPkzWl0yXPs"
278 "HpFWh1nZlsQehyknyWDH/waKrrG8tVWxHZLgq+zrFxQTh63UHXSD+TXB+AQg2xmQMeWlf"
279 "vRcsKL8titZ6PnWCHTmZY+3ibv5avDsg7He6OcZOi9ZmYMx82QHuzb4aZ/T+OC05oA97n"
280 "VNbTN6t8okkRtBamMvVhtTJANVpsdPi8saEaVF8e9liwmpq2w7pqXnzgdzvjSUpPAa4dZ"
281 "BjWnZJvFOHuxZqiRzQdZbeh9+bXwsQJhRNe+d4EgFwuqebQOczeUi4NVTHTFiuPEjCCAv"
282 "kGCSqGSIb3DQEHAaCCAuoEggLmMIIC4jCCAt4GCyqGSIb3DQEMCgECoIICpjCCAqIwHAY"
283 "KKoZIhvcNAQwBAzAOBAi0znbEekG/MgICCAAEggKAJfFPaQyYYLohEA1ruAZfepwMVrR8"
284 "eLMx00kkfXN9EoZeFPj2q7TGdqmbkUSqXnZK1ums7pFCPLgP1CsPlsq/4ZPDT2LLVFZNL"
285 "OgmdQBOSTvycfsj0iKYrwRC55wJI2OXsc062sT7oa99apkgrEyHq7JbOhszfnv5+aVy/6"
286 "O115dncqFPW2ei4CBzLEZyYa+Mka6CGqSdm97WVmv0emDKTFEP/FN4TH/tS8Qm6Y7DTKG"
287 "CujC+hb6lTRFYJAD4uld132dv0xQFkwDZGfdnuGJuNZBDC0gZk3BYvOaCUD8Y9UB5IjfG"
288 "Jax2yrurY1wSGSlTurafDTPrKqIdBovwCPsad2xz1YHC2Yy0h1FyR+2uitDyNfTiETfug"
289 "3bFbjwodu9wmt31A2ZFn4JpUrTYoZ3LZXngC3nNTayU0Tkd1ICMep2GbCReL3ajOlgOKG"
290 "FVoOm/qDnhiH6W/ebtAQXqVpuKut8uY0X0Ocmx7mTpmxlfDSRiBY9rvnrGfnpfLMxtFeF"
291 "9jv3n8vSwvA0Xn0okAv1FWYLStiCpNxnD6lmXQvcmL/skAlJJpHY9/58qt/e5sGYrkKBw"
292 "3jnX40zaK4W7GeJvhij0MRr6yUL2lvaEcWDnK6K1F90G/ybKRCTHBCJzyBe7yHhZCc+Zc"
293 "vKK6DTi83fELTyupy08BkXt7oPdapxmKlZxTldo9FpPXSqrdRtAWhDkEkIEf8dMf8QrQr"
294 "3glCWfbcQ047URYX45AHRnLTLLkJfdY8+Y3KsHoqL2UrOrct+J1u0mmnLbonN3pB2B4nd"
295 "9X9vf9/uSFrgvk0iPO0Ro3UPRUIIYEP2Kx51pZZVDd++hl5gXtqe0NIpphGhxLycIdzEl"
296 "MCMGCSqGSIb3DQEJFTEWBBR1uVpGjHRddIEYuJhz/FgG4Onh6jAxMCEwCQYFKw4DAhoFA"
297 "AQU1M+0WRDkoVGbGg1jj7q2fI67qHIECBzRYESpgt5iAgIIAA==\""
298 " }"
299 " ],"
300 "}");
301 OncNetworkParser parser(test_blob);
302 364
303 EXPECT_EQ(1, parser.GetCertificatesSize()); 365 SECKEYPublicKeyList* pubkey_list =
304 EXPECT_TRUE(parser.ParseCertificate(0)); 366 PK11_ListPublicKeysInSlot(slot_->os_module_handle(), NULL);
367 EXPECT_FALSE(pubkey_list);
368
369 net::CertificateList result_list;
370 cert_db_.ListCertsWithLabel(test_guid, &result_list);
371 ASSERT_EQ(1ul, result_list.size());
372 EXPECT_EQ(net::CA_CERT, result_list[0]->GetCertificateType());
305 } 373 }
306 374
307 } // namespace chromeos 375 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698