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

Side by Side Diff: chrome/renderer/resources/extensions/enterprise_platform_keys/subtle_crypto.js

Issue 332233002: enterprise.platformKeys: Copy-on-read the 'algorithm' member of Key objects. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 var utils = require('utils'); 5 var utils = require('utils');
6 var internalAPI = require('enterprise.platformKeys.internalAPI'); 6 var internalAPI = require('enterprise.platformKeys.internalAPI');
7 var intersect = require('enterprise.platformKeys.utils').intersect; 7 var intersect = require('enterprise.platformKeys.utils').intersect;
8 var KeyPair = require('enterprise.platformKeys.KeyPair').KeyPair; 8 var KeyPair = require('enterprise.platformKeys.KeyPair').KeyPair;
9 var keyModule = require('enterprise.platformKeys.Key'); 9 var keyModule = require('enterprise.platformKeys.Key');
10 var getSpki = keyModule.getSpki; 10 var getSpki = keyModule.getSpki;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 throw CreateDataError(); 95 throw CreateDataError();
96 } 96 }
97 var normalizedAlgorithmParameters = 97 var normalizedAlgorithmParameters =
98 normalizeAlgorithm(algorithm, 'GenerateKey'); 98 normalizeAlgorithm(algorithm, 'GenerateKey');
99 if (!normalizedAlgorithmParameters) { 99 if (!normalizedAlgorithmParameters) {
100 // TODO(pneubeck): It's not clear from the WebCrypto spec which error to 100 // TODO(pneubeck): It's not clear from the WebCrypto spec which error to
101 // throw here. 101 // throw here.
102 throw CreateSyntaxError(); 102 throw CreateSyntaxError();
103 } 103 }
104 104
105 // normalizeAlgorithm returns an array, but publicExponent should be a
106 // Uint8Array.
107 normalizedAlgorithmParameters.publicExponent =
108 new Uint8Array(normalizedAlgorithmParameters.publicExponent);
109
105 if (normalizedAlgorithmParameters.name !== 'RSASSA-PKCS1-v1_5' || 110 if (normalizedAlgorithmParameters.name !== 'RSASSA-PKCS1-v1_5' ||
106 !equalsStandardPublicExponent( 111 !equalsStandardPublicExponent(
107 normalizedAlgorithmParameters.publicExponent)) { 112 normalizedAlgorithmParameters.publicExponent)) {
108 // Note: This deviates from WebCrypto.SubtleCrypto. 113 // Note: This deviates from WebCrypto.SubtleCrypto.
109 throw CreateNotSupportedError(); 114 throw CreateNotSupportedError();
110 } 115 }
111 116
112 internalAPI.generateKey(subtleCrypto.tokenId, 117 internalAPI.generateKey(subtleCrypto.tokenId,
113 normalizedAlgorithmParameters.modulusLength, 118 normalizedAlgorithmParameters.modulusLength,
114 function(spki) { 119 function(spki) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 // TODO(pneubeck): It should be possible to export to format 'jwk'. 176 // TODO(pneubeck): It should be possible to export to format 'jwk'.
172 throw CreateNotSupportedError(); 177 throw CreateNotSupportedError();
173 } 178 }
174 }); 179 });
175 }; 180 };
176 181
177 exports.SubtleCrypto = 182 exports.SubtleCrypto =
178 utils.expose('SubtleCrypto', 183 utils.expose('SubtleCrypto',
179 SubtleCryptoImpl, 184 SubtleCryptoImpl,
180 {functions:['generateKey', 'sign', 'exportKey']}); 185 {functions:['generateKey', 'sign', 'exportKey']});
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698