summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilip Skokan <panva.ip@gmail.com>2022-04-03 12:11:02 +0200
committerJuan José Arboleda <soyjuanarbol@gmail.com>2022-04-06 12:25:53 -0500
commit9b4bd7d031962f580536372356382fdc3cb0a244 (patch)
treee156e6692a651a993d83fd33979b568a44b7272f
parentfb25ba435c53b8b01a6d7548bf59437b52772f8f (diff)
downloadnode-new-9b4bd7d031962f580536372356382fdc3cb0a244.tar.gz
crypto: cleanup webcrypto jwk code
PR-URL: https://github.com/nodejs/node/pull/42562 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Zeyu Yang <himself65@outlook.com> Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
-rw-r--r--lib/internal/crypto/dsa.js51
-rw-r--r--lib/internal/crypto/webcrypto.js5
2 files changed, 0 insertions, 56 deletions
diff --git a/lib/internal/crypto/dsa.js b/lib/internal/crypto/dsa.js
index 12e327c6ed..faaf7d6b88 100644
--- a/lib/internal/crypto/dsa.js
+++ b/lib/internal/crypto/dsa.js
@@ -7,11 +7,9 @@ const {
const {
DSAKeyExportJob,
- KeyObjectHandle,
SignJob,
kCryptoJobAsync,
kSigEncDER,
- kKeyTypePrivate,
kSignJobModeSign,
kSignJobModeVerify,
} = internalBinding('crypto');
@@ -29,8 +27,6 @@ const {
const {
InternalCryptoKey,
- PrivateKeyObject,
- PublicKeyObject,
createPrivateKey,
createPublicKey,
isKeyObject,
@@ -45,7 +41,6 @@ const {
hasAnyNotIn,
jobPromise,
normalizeHashName,
- validateKeyOps,
kKeyObject,
kHandle,
} = require('internal/crypto/util');
@@ -178,52 +173,6 @@ async function dsaImportKey(
});
break;
}
- case 'jwk': {
- if (keyData == null || typeof keyData !== 'object')
- throw lazyDOMException('Invalid JWK keyData', 'DataError');
-
- verifyAcceptableDsaKeyUse(
- algorithm.name,
- keyData.x !== undefined ? 'private' : 'public',
- usagesSet);
-
- if (keyData.kty !== 'DSA')
- throw lazyDOMException('Invalid key type', 'DataError');
-
- if (usagesSet.size > 0 &&
- keyData.use !== undefined &&
- keyData.use !== 'sig') {
- throw lazyDOMException('Invalid use type', 'DataError');
- }
-
- validateKeyOps(keyData.key_ops, usagesSet);
-
- if (keyData.ext !== undefined &&
- keyData.ext === false &&
- extractable === true) {
- throw lazyDOMException('JWK is not extractable', 'DataError');
- }
-
- if (keyData.alg !== undefined) {
- if (typeof keyData.alg !== 'string')
- throw lazyDOMException('Invalid alg', 'DataError');
- const hash =
- normalizeHashName(keyData.alg, normalizeHashName.kContextWebCrypto);
- if (hash !== algorithm.hash.name)
- throw lazyDOMException('Hash mismatch', 'DataError');
- }
-
- const handle = new KeyObjectHandle();
- const type = handle.initJwk(keyData);
- if (type === undefined)
- throw lazyDOMException('Invalid JWK keyData', 'DataError');
-
- keyObject = type === kKeyTypePrivate ?
- new PrivateKeyObject(handle) :
- new PublicKeyObject(handle);
-
- break;
- }
default:
throw lazyDOMException(
`Unable to import DSA key with format ${format}`,
diff --git a/lib/internal/crypto/webcrypto.js b/lib/internal/crypto/webcrypto.js
index a7916e6ac3..e9380ed53b 100644
--- a/lib/internal/crypto/webcrypto.js
+++ b/lib/internal/crypto/webcrypto.js
@@ -403,11 +403,6 @@ async function exportKeyJWK(key) {
key.algorithm.hash.name,
normalizeHashName.kContextJwkHmac);
return jwk;
- case 'NODE-DSA':
- jwk.alg = normalizeHashName(
- key.algorithm.hash.name,
- normalizeHashName.kContextJwkDsa);
- return jwk;
case 'NODE-ED25519':
// Fall through
case 'NODE-ED448':