From 43be97923f671f37493549c8463a8824c8b63f6b Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Fri, 22 Mar 2024 19:28:28 +0530 Subject: fix(ext/node): handle KeyObject in `prepareAsymmetricKey` (#23026) Fixes https://github.com/denoland/deno/issues/20938 --- ext/node/polyfills/internal/crypto/keys.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ext/node/polyfills/internal/crypto/keys.ts') diff --git a/ext/node/polyfills/internal/crypto/keys.ts b/ext/node/polyfills/internal/crypto/keys.ts index 74379015b..4ab8cac4f 100644 --- a/ext/node/polyfills/internal/crypto/keys.ts +++ b/ext/node/polyfills/internal/crypto/keys.ts @@ -215,6 +215,12 @@ export interface JsonWebKeyInput { export function prepareAsymmetricKey(key) { if (isStringOrBuffer(key)) { return { format: "pem", data: getArrayBufferOrView(key, "key") }; + } else if (isKeyObject(key)) { + return { + // Assumes that assymetric keys are stored as PEM. + format: "pem", + data: getKeyMaterial(key), + }; } else if (typeof key == "object") { const { key: data, encoding, format, type } = key; if (!isStringOrBuffer(data)) { -- cgit v1.2.3