OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Must be packed to ../enterprise_platform_keys.crx using the private key | 5 // Must be packed to ../enterprise_platform_keys.crx using the private key |
6 // ../enterprise_platform_keys.pem . | 6 // ../enterprise_platform_keys.pem . |
7 | 7 |
8 var assertEq = chrome.test.assertEq; | 8 var assertEq = chrome.test.assertEq; |
9 var assertTrue = chrome.test.assertTrue; | 9 var assertTrue = chrome.test.assertTrue; |
10 var assertThrows = chrome.test.assertThrows; | 10 var assertThrows = chrome.test.assertThrows; |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
294 assertTrue(!!keyPair, "No key pair."); | 294 assertTrue(!!keyPair, "No key pair."); |
295 cachedKeyPair = keyPair; | 295 cachedKeyPair = keyPair; |
296 return userToken.subtleCrypto.exportKey('spki', | 296 return userToken.subtleCrypto.exportKey('spki', |
297 keyPair.publicKey); | 297 keyPair.publicKey); |
298 }), | 298 }), |
299 function(error) { | 299 function(error) { |
300 assertTrue(false, "GenerateKey failed: " + error); | 300 assertTrue(false, "GenerateKey failed: " + error); |
301 }) | 301 }) |
302 .then(callbackPass(function(publicKeySpki) { | 302 .then(callbackPass(function(publicKeySpki) { |
303 cachedSpki = publicKeySpki; | 303 cachedSpki = publicKeySpki; |
304 var signParams = {name: 'RSASSA-PKCS1-v1_5'}; | |
304 return userToken.subtleCrypto.sign( | 305 return userToken.subtleCrypto.sign( |
305 {}, cachedKeyPair.privateKey, data); | 306 signParams, cachedKeyPair.privateKey, data); |
306 }), | 307 }), |
307 function(error) { | 308 function(error) { |
308 assertTrue(false, "Export failed: " + error); | 309 assertTrue(false, "Export failed: " + error); |
309 }) | 310 }) |
310 .then(callbackPass(function(signature) { | 311 .then(callbackPass(function(signature) { |
311 assertTrue(!!signature, "No signature."); | 312 assertTrue(!!signature, "No signature."); |
312 assertTrue(signature.length != 0, "Signature is empty."); | 313 assertTrue(signature.length != 0, "Signature is empty."); |
313 cachedSignature = signature; | 314 cachedSignature = signature; |
314 return window.crypto.subtle.importKey( | 315 return window.crypto.subtle.importKey( |
315 "spki", cachedSpki, algorithm, false, ["verify"]); | 316 "spki", cachedSpki, algorithm, false, ["verify"]); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
351 assertCertsStored.bind(null, userToken, [cert1a, cert1b]), | 352 assertCertsStored.bind(null, userToken, [cert1a, cert1b]), |
352 chrome.enterprise.platformKeys.removeCertificate.bind( | 353 chrome.enterprise.platformKeys.removeCertificate.bind( |
353 null, userToken.id, cert1a.buffer), | 354 null, userToken.id, cert1a.buffer), |
354 assertCertsStored.bind(null, userToken, [cert1b]), | 355 assertCertsStored.bind(null, userToken, [cert1b]), |
355 chrome.enterprise.platformKeys.removeCertificate.bind( | 356 chrome.enterprise.platformKeys.removeCertificate.bind( |
356 null, userToken.id, cert1b.buffer), | 357 null, userToken.id, cert1b.buffer), |
357 assertCertsStored.bind(null, userToken, []) | 358 assertCertsStored.bind(null, userToken, []) |
358 ]); | 359 ]); |
359 }, | 360 }, |
360 | 361 |
362 // Call generate key with invalid algorithm parameter, missing | |
363 // modulusLength. | |
364 function algorithmParameterMissingModulusLength() { | |
365 var algorithm = { | |
366 name: "RSASSA-PKCS1-v1_5", | |
367 publicExponent: | |
368 new Uint8Array([0x01, 0x00, 0x01]), // Equivalent to 65537 | |
369 hash: { | |
370 name: "SHA-1", | |
371 } | |
372 }; | |
373 userToken.subtleCrypto.generateKey(algorithm, false, ['sign']).then( | |
374 function(keyPair) { | |
375 assertTrue(false, 'generateKey was expected to fail'); | |
376 }, | |
377 callbackPass(function(error) { | |
378 assertEq( | |
379 new Error('Error: A required parameter was missing our out-of-range'), | |
eroman
2014/06/05 23:38:28
our --> or
pneubeck (no reviews)
2014/06/06 12:39:45
Done.
| |
380 error); | |
381 })); | |
382 }, | |
383 | |
384 // Call generate key with invalid algorithm parameter, missing hash. | |
385 function algorithmParameterMissingHash() { | |
386 var algorithm = { | |
387 name: 'RSASSA-PKCS1-v1_5', | |
388 modulusLength: 512, | |
389 publicExponent: | |
390 new Uint8Array([0x01, 0x00, 0x01]), // Equivalent to 65537 | |
391 }; | |
392 userToken.subtleCrypto.generateKey(algorithm, false, ['sign']).then( | |
393 function(keyPair) { | |
394 assertTrue(false, 'generateKey was expected to fail'); | |
395 }, | |
396 callbackPass(function(error) { | |
397 assertEq( | |
398 new Error('Error: A required parameter was missing our out-of-range'), | |
eroman
2014/06/05 23:38:28
our --> or
pneubeck (no reviews)
2014/06/06 12:39:45
Done.
| |
399 error); | |
400 })); | |
401 }, | |
402 | |
361 // Imports a certificate for which now private key was imported/generated | 403 // Imports a certificate for which now private key was imported/generated |
362 // before. | 404 // before. |
363 function missingPrivateKey() { | 405 function missingPrivateKey() { |
364 chrome.enterprise.platformKeys.importCertificate( | 406 chrome.enterprise.platformKeys.importCertificate( |
365 userToken.id, cert2.buffer, callbackFail('Key not found.')); | 407 userToken.id, cert2.buffer, callbackFail('Key not found.')); |
366 }, | 408 }, |
367 function importInvalidCert() { | 409 function importInvalidCert() { |
368 var invalidCert = new ArrayBuffer(16); | 410 var invalidCert = new ArrayBuffer(16); |
369 chrome.enterprise.platformKeys.importCertificate( | 411 chrome.enterprise.platformKeys.importCertificate( |
370 userToken.id, | 412 userToken.id, |
(...skipping 14 matching lines...) Expand all Loading... | |
385 callbackFail('Certificate is not a valid X.509 certificate.')); | 427 callbackFail('Certificate is not a valid X.509 certificate.')); |
386 }, | 428 }, |
387 function getCertsInvalidToken() { | 429 function getCertsInvalidToken() { |
388 chrome.enterprise.platformKeys.getCertificates( | 430 chrome.enterprise.platformKeys.getCertificates( |
389 'invalid token id', callbackFail('The token is not valid.')); | 431 'invalid token id', callbackFail('The token is not valid.')); |
390 } | 432 } |
391 ]); | 433 ]); |
392 } | 434 } |
393 | 435 |
394 beforeTests(runTests); | 436 beforeTests(runTests); |
OLD | NEW |