Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 'use strict'; | 5 'use strict'; |
| 6 | 6 |
| 7 var systemTokenEnabled = (location.search.indexOf("systemTokenEnabled") != -1); | 7 var systemTokenEnabled = (location.search.indexOf("systemTokenEnabled") != -1); |
| 8 var selectedTestSuite = location.hash.slice(1); | 8 var selectedTestSuite = location.hash.slice(1); |
| 9 console.log('[SELECTED TEST SUITE] ' + selectedTestSuite + | 9 console.log('[SELECTED TEST SUITE] ' + selectedTestSuite + |
| 10 ', systemTokenEnable ' + systemTokenEnabled); | 10 ', systemTokenEnable ' + systemTokenEnabled); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 190 assertTrue(!!chrome.platformKeys.subtleCrypto().exportKey, | 190 assertTrue(!!chrome.platformKeys.subtleCrypto().exportKey, |
| 191 "No exportKey method."); | 191 "No exportKey method."); |
| 192 succeed(); | 192 succeed(); |
| 193 } | 193 } |
| 194 | 194 |
| 195 var requestAll = { | 195 var requestAll = { |
| 196 certificateTypes: [], | 196 certificateTypes: [], |
| 197 certificateAuthorities: [] | 197 certificateAuthorities: [] |
| 198 }; | 198 }; |
| 199 | 199 |
| 200 var requestRSA = { | |
|
pneubeck (no reviews)
2015/05/19 10:09:00
as these two variables are used only once, just ma
cschuet (SLOW)
2015/05/19 11:36:23
Done.
| |
| 201 certificateTypes: ['rsaSign'], | |
| 202 certificateAuthorities: [] | |
| 203 }; | |
| 204 | |
| 205 var requestECDSA = { | |
| 206 certificateTypes: ['ecdsaSign'], | |
| 207 certificateAuthorities: [] | |
| 208 }; | |
| 209 | |
| 200 // Depends on |data|, thus it cannot be created immediately. | 210 // Depends on |data|, thus it cannot be created immediately. |
| 201 function requestCA1() { | 211 function requestCA1() { |
| 202 return { | 212 return { |
| 203 certificateTypes: [], | 213 certificateTypes: [], |
| 204 certificateAuthorities: [data.client_1_issuer_dn.buffer] | 214 certificateAuthorities: [data.client_1_issuer_dn.buffer] |
| 205 }; | 215 }; |
| 206 } | 216 } |
| 207 | 217 |
| 208 function testSelectAllCerts() { | 218 function testSelectAllCerts() { |
| 209 var expectedCerts = [data.client_1]; | 219 var expectedCerts = [data.client_1]; |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 230 function testInteractiveSelectNoCerts() { | 240 function testInteractiveSelectNoCerts() { |
| 231 assertCertsSelected({interactive: true, request: requestAll}, | 241 assertCertsSelected({interactive: true, request: requestAll}, |
| 232 [] /* no certs selected */); | 242 [] /* no certs selected */); |
| 233 } | 243 } |
| 234 | 244 |
| 235 function testInteractiveSelectClient1() { | 245 function testInteractiveSelectClient1() { |
| 236 assertCertsSelected({interactive: true, request: requestAll}, | 246 assertCertsSelected({interactive: true, request: requestAll}, |
| 237 [data.client_1]); | 247 [data.client_1]); |
| 238 } | 248 } |
| 239 | 249 |
| 240 function testMatchResult() { | 250 function testMatchResultCA1() { |
| 241 chrome.platformKeys.selectClientCertificates( | 251 chrome.platformKeys.selectClientCertificates( |
| 242 {interactive: false, request: requestCA1()}, | 252 {interactive: false, request: requestCA1()}, |
| 243 callbackPass(function(matches) { | 253 callbackPass(function(matches) { |
| 244 var expectedAlgorithm = { | 254 var expectedAlgorithm = { |
| 245 modulusLength: 2048, | 255 modulusLength: 2048, |
| 246 name: "RSASSA-PKCS1-v1_5", | 256 name: "RSASSA-PKCS1-v1_5", |
| 247 publicExponent: new Uint8Array([0x01, 0x00, 0x01]) | 257 publicExponent: new Uint8Array([0x01, 0x00, 0x01]) |
| 248 }; | 258 }; |
| 249 var actualAlgorithm = matches[0].keyAlgorithm; | 259 var actualAlgorithm = matches[0].keyAlgorithm; |
| 250 assertEq( | 260 assertEq( |
| 251 expectedAlgorithm, actualAlgorithm, | 261 expectedAlgorithm, actualAlgorithm, |
| 252 'Member algorithm of Match does not equal the expected algorithm'); | 262 'Member algorithm of Match does not equal the expected algorithm'); |
| 253 })); | 263 })); |
| 254 } | 264 } |
| 255 | 265 |
| 266 function testMatchResultECDSA() { | |
| 267 chrome.platformKeys.selectClientCertificates( | |
| 268 {interactive: false, request: requestECDSA}, | |
| 269 callbackPass(function(matches) { | |
| 270 assertEq( | |
| 271 0, matches.length, | |
|
pneubeck (no reviews)
2015/05/19 10:09:00
is this autoformatted?
cschuet (SLOW)
2015/05/19 11:36:23
Done.
| |
| 272 'No matches expected.'); | |
| 273 })); | |
| 274 } | |
| 275 | |
| 276 function testMatchResultRSA() { | |
| 277 chrome.platformKeys.selectClientCertificates( | |
| 278 {interactive: false, request: requestRSA}, | |
| 279 callbackPass(function(matches) { | |
| 280 var expectedAlgorithm = { | |
| 281 modulusLength: 2048, | |
| 282 name: "RSASSA-PKCS1-v1_5", | |
| 283 publicExponent: new Uint8Array([0x01, 0x00, 0x01]) | |
| 284 }; | |
| 285 var actualAlgorithm = matches[0].keyAlgorithm; | |
| 286 assertEq( | |
| 287 expectedAlgorithm, actualAlgorithm, | |
| 288 'Member algorithm of Match does not equal the expected algorithm'); | |
| 289 })); | |
| 290 } | |
| 291 | |
| 256 function testGetKeyPairMissingAlgorithName() { | 292 function testGetKeyPairMissingAlgorithName() { |
| 257 var keyParams = { | 293 var keyParams = { |
| 258 // This is missing the algorithm name. | 294 // This is missing the algorithm name. |
| 259 hash: {name: 'SHA-1'} | 295 hash: {name: 'SHA-1'} |
| 260 }; | 296 }; |
| 261 try { | 297 try { |
| 262 chrome.platformKeys.getKeyPair( | 298 chrome.platformKeys.getKeyPair( |
| 263 data.client_1.buffer, keyParams, function(error) { | 299 data.client_1.buffer, keyParams, function(error) { |
| 264 fail('getKeyPair call was expected to fail.'); | 300 fail('getKeyPair call was expected to fail.'); |
| 265 }); | 301 }); |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 426 // On interactive selectClientCertificates calls, the simulated user does not | 462 // On interactive selectClientCertificates calls, the simulated user does not |
| 427 // select any cert. | 463 // select any cert. |
| 428 basicTests: function() { | 464 basicTests: function() { |
| 429 var tests = [ | 465 var tests = [ |
| 430 testStaticMethods, | 466 testStaticMethods, |
| 431 testSelectAllCerts, | 467 testSelectAllCerts, |
| 432 testBackgroundNoninteractiveSelect, | 468 testBackgroundNoninteractiveSelect, |
| 433 testBackgroundInteractiveSelect, | 469 testBackgroundInteractiveSelect, |
| 434 testSelectCA1Certs, | 470 testSelectCA1Certs, |
| 435 testInteractiveSelectNoCerts, | 471 testInteractiveSelectNoCerts, |
| 436 testMatchResult, | 472 testMatchResultCA1, |
| 473 testMatchResultECDSA, | |
| 474 testMatchResultRSA, | |
| 437 testGetKeyPairMissingAlgorithName, | 475 testGetKeyPairMissingAlgorithName, |
| 438 testGetKeyPairRejectsRSAPSS, | 476 testGetKeyPairRejectsRSAPSS, |
| 439 testGetKeyPair, | 477 testGetKeyPair, |
| 440 testSignNoHash, | 478 testSignNoHash, |
| 441 testSignSha1Client1, | 479 testSignSha1Client1, |
| 442 ]; | 480 ]; |
| 443 | 481 |
| 444 chrome.test.runTests(tests); | 482 chrome.test.runTests(tests); |
| 445 }, | 483 }, |
| 446 | 484 |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 470 // Verify that client_1 but not client_2 is selected in non-interactive | 508 // Verify that client_1 but not client_2 is selected in non-interactive |
| 471 // calls. | 509 // calls. |
| 472 testSelectAllReturnsClient1, | 510 testSelectAllReturnsClient1, |
| 473 ]; | 511 ]; |
| 474 | 512 |
| 475 chrome.test.runTests(tests); | 513 chrome.test.runTests(tests); |
| 476 } | 514 } |
| 477 }; | 515 }; |
| 478 | 516 |
| 479 setUp(testSuites[selectedTestSuite]); | 517 setUp(testSuites[selectedTestSuite]); |
| OLD | NEW |