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

Side by Side Diff: chrome/renderer/resources/extensions/platform_keys/get_public_key.js

Issue 998293002: chrome.platformKeys.getKeyPair: Check requested algorithm against certificate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@require_alg_name
Patch Set: Fix string in test. Created 5 years, 9 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
OLDNEW
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 var internalAPI = require('platformKeys.internalAPI'); 5 var internalAPI = require('platformKeys.internalAPI');
6 6
7 var normalizeAlgorithm = 7 var normalizeAlgorithm =
8 requireNative('platform_keys_natives').NormalizeAlgorithm; 8 requireNative('platform_keys_natives').NormalizeAlgorithm;
9 9
10 // Returns the normalized parameters of |importParams|. 10 // Returns the normalized parameters of |importParams|.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 if (algorithm.publicExponent) { 46 if (algorithm.publicExponent) {
47 algorithm.publicExponent = new Uint8Array(algorithm.publicExponent); 47 algorithm.publicExponent = new Uint8Array(algorithm.publicExponent);
48 } 48 }
49 49
50 algorithm.hash = importParams.hash; 50 algorithm.hash = importParams.hash;
51 return algorithm; 51 return algorithm;
52 } 52 }
53 53
54 function getPublicKey(cert, importParams, callback) { 54 function getPublicKey(cert, importParams, callback) {
55 importParams = normalizeImportParams(importParams); 55 importParams = normalizeImportParams(importParams);
56 // TODO(pneubeck): pass importParams.name to the internal getPublicKey and 56 internalAPI.getPublicKey(
57 // verify on the C++ side that the requested algorithm is compatible with the 57 cert, importParams.name, function(publicKey, algorithm) {
58 // given SubjectPublicKeyInfo of the certificate. 58 if (chrome.runtime.lastError) {
59 // https://crbug.com/466584 59 callback();
60 internalAPI.getPublicKey(cert, function(publicKey, algorithm) { 60 return;
61 var combinedAlgorithm = combineAlgorithms(algorithm, importParams); 61 }
62 callback(publicKey, combinedAlgorithm); 62 var combinedAlgorithm = combineAlgorithms(algorithm, importParams);
63 }); 63 callback(publicKey, combinedAlgorithm);
64 });
64 } 65 }
65 66
66 exports.getPublicKey = getPublicKey; 67 exports.getPublicKey = getPublicKey;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698