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

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

Powered by Google App Engine
This is Rietveld 408576698