From 553bd7dec328884785da805d8ef4f9c4510e1366 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Wed, 28 Aug 2024 19:54:49 +0530 Subject: fix(ext/node): import EC JWK keys (#25266) --- ext/node/polyfills/internal/crypto/keys.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'ext/node/polyfills') diff --git a/ext/node/polyfills/internal/crypto/keys.ts b/ext/node/polyfills/internal/crypto/keys.ts index 97e565023..c2e9d95ee 100644 --- a/ext/node/polyfills/internal/crypto/keys.ts +++ b/ext/node/polyfills/internal/crypto/keys.ts @@ -12,6 +12,7 @@ const { } = primordials; import { + op_node_create_ec_jwk, op_node_create_ed_raw, op_node_create_private_key, op_node_create_public_key, @@ -311,7 +312,15 @@ function getKeyObjectHandleFromJwk(key, ctx) { } if (key.kty === "EC") { - throw new TypeError("ec jwk imports not implemented"); + validateString(key.crv, "key.crv"); + validateString(key.x, "key.x"); + validateString(key.y, "key.y"); + + if (!isPublic) { + validateString(key.d, "key.d"); + } + + return op_node_create_ec_jwk(key, isPublic); } throw new TypeError("rsa jwk imports not implemented"); -- cgit v1.2.3