MCPcopy Create free account
hub / github.com/nodejs/node / setUpBaseKeys

Function setUpBaseKeys

test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/pbkdf2.js:226–272  ·  view source on GitHub ↗
(passwords)

Source from the content-addressed store, hash-verified

224 // by importing a password. setUpBaseKeys returns a promise that yields the
225 // necessary base keys.
226 function setUpBaseKeys(passwords) {
227 var promises = [];
228
229 var baseKeys = {};
230 var noBits = {};
231 var noKey = {};
232 var wrongKey = null;
233
234 Object.keys(passwords).forEach(function(passwordSize) {
235 var promise = subtle.importKey("raw", passwords[passwordSize], {name: "PBKDF2"}, false, ["deriveKey", "deriveBits"])
236 .then(function(baseKey) {
237 baseKeys[passwordSize] = baseKey;
238 }, function(err) {
239 baseKeys[passwordSize] = null;
240 });
241 promises.push(promise);
242
243 promise = subtle.importKey("raw", passwords[passwordSize], {name: "PBKDF2"}, false, ["deriveBits"])
244 .then(function(baseKey) {
245 noKey[passwordSize] = baseKey;
246 }, function(err) {
247 noKey[passwordSize] = null;
248 });
249 promises.push(promise);
250
251 promise = subtle.importKey("raw", passwords[passwordSize], {name: "PBKDF2"}, false, ["deriveKey"])
252 .then(function(baseKey) {
253 noBits[passwordSize] = baseKey;
254 }, function(err) {
255 noBits[passwordSize] = null;
256 });
257 promises.push(promise);
258 });
259
260 var promise = subtle.generateKey({name: "ECDH", namedCurve: "P-256"}, false, ["deriveKey", "deriveBits"])
261 .then(function(baseKey) {
262 wrongKey = baseKey.privateKey;
263 }, function(err) {
264 wrongKey = null;
265 });
266 promises.push(promise);
267
268
269 return Promise.all(promises).then(function() {
270 return {baseKeys: baseKeys, noBits: noBits, noKey: noKey, wrongKey: wrongKey};
271 });
272 }
273
274}

Callers 1

define_testsFunction · 0.70

Calls 5

allMethod · 0.80
forEachMethod · 0.65
keysMethod · 0.65
thenMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected