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

Function setUpBaseKeys

test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/hkdf.js:230–276  ·  view source on GitHub ↗
(derivedKeys)

Source from the content-addressed store, hash-verified

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

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