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

Side by Side Diff: chrome/test/data/extensions/api_test/enterprise_platform_keys/basic.js

Issue 298073009: Reuse WebCrypto's normalizeCryptoAlgorithm in enterprise.platformKeys. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 6 months 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 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
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
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
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);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698