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

Function importKeys

test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/ecdh_bits.js:179–231  ·  view source on GitHub ↗
(pkcs8, spki, sizes)

Source from the content-addressed store, hash-verified

177 });
178
179 function importKeys(pkcs8, spki, sizes) {
180 var privateKeys = {};
181 var publicKeys = {};
182 var ecdsaKeyPairs = {};
183 var noDeriveBitsKeys = {};
184
185 var promises = [];
186 Object.keys(pkcs8).forEach(function(namedCurve) {
187 var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
188 {name: "ECDH", namedCurve: namedCurve},
189 false, ["deriveBits", "deriveKey"])
190 .then(function(key) {
191 privateKeys[namedCurve] = key;
192 }, function (err) {
193 privateKeys[namedCurve] = null;
194 });
195 promises.push(operation);
196 });
197 Object.keys(pkcs8).forEach(function(namedCurve) {
198 var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
199 {name: "ECDH", namedCurve: namedCurve},
200 false, ["deriveKey"])
201 .then(function(key) {
202 noDeriveBitsKeys[namedCurve] = key;
203 }, function (err) {
204 noDeriveBitsKeys[namedCurve] = null;
205 });
206 promises.push(operation);
207 });
208 Object.keys(spki).forEach(function(namedCurve) {
209 var operation = subtle.importKey("spki", spki[namedCurve],
210 {name: "ECDH", namedCurve: namedCurve},
211 false, [])
212 .then(function(key) {
213 publicKeys[namedCurve] = key;
214 }, function (err) {
215 publicKeys[namedCurve] = null;
216 });
217 promises.push(operation);
218 });
219 Object.keys(sizes).forEach(function(namedCurve) {
220 var operation = subtle.generateKey({name: "ECDSA", namedCurve: namedCurve}, false, ["sign", "verify"])
221 .then(function(keyPair) {
222 ecdsaKeyPairs[namedCurve] = keyPair;
223 }, function (err) {
224 ecdsaKeyPairs[namedCurve] = null;
225 });
226 promises.push(operation);
227 });
228
229 return Promise.all(promises)
230 .then(function(results) {return {privateKeys: privateKeys, publicKeys: publicKeys, ecdsaKeyPairs: ecdsaKeyPairs, noDeriveBitsKeys: noDeriveBitsKeys}});
231 }
232
233}

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