From a41d6240053e69b55bd1821de881f5ef953c9254 Mon Sep 17 00:00:00 2001 From: Filip Skokan Date: Sun, 23 Nov 2025 19:39:50 +0100 Subject: [PATCH] crypto: fix DOMException name for non-extractable key error --- lib/internal/crypto/webcrypto.js | 2 +- .../test-webcrypto-export-import-cfrg.js | 12 ++++++++---- .../test-webcrypto-export-import-ec.js | 12 ++++++++---- .../test-webcrypto-export-import-ml-dsa.js | 18 ++++++++++++------ .../test-webcrypto-export-import-ml-kem.js | 12 ++++++++---- .../test-webcrypto-export-import-rsa.js | 12 ++++++++---- 6 files changed, 45 insertions(+), 23 deletions(-) diff --git a/lib/internal/crypto/webcrypto.js b/lib/internal/crypto/webcrypto.js index 0fba4e9108c329..2333919e06a2fe 100644 --- a/lib/internal/crypto/webcrypto.js +++ b/lib/internal/crypto/webcrypto.js @@ -676,7 +676,7 @@ async function exportKey(format, key) { } if (!key[kExtractable]) - throw lazyDOMException('key is not extractable', 'InvalidAccessException'); + throw lazyDOMException('key is not extractable', 'InvalidAccessError'); let result; switch (format) { diff --git a/test/parallel/test-webcrypto-export-import-cfrg.js b/test/parallel/test-webcrypto-export-import-cfrg.js index ae203e1005de0a..9cfc6e9e4ecf5a 100644 --- a/test/parallel/test-webcrypto-export-import-cfrg.js +++ b/test/parallel/test-webcrypto-export-import-cfrg.js @@ -134,7 +134,8 @@ async function testImportSpki({ name, publicUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('spki', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -172,7 +173,8 @@ async function testImportPkcs8({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -303,11 +305,13 @@ async function testImportJwk({ name, publicUsages, privateUsages }, extractable) } else { await assert.rejects( subtle.exportKey('jwk', publicKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); await assert.rejects( subtle.exportKey('jwk', privateKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } diff --git a/test/parallel/test-webcrypto-export-import-ec.js b/test/parallel/test-webcrypto-export-import-ec.js index 46a7e9153f2668..a2e9df73bc2926 100644 --- a/test/parallel/test-webcrypto-export-import-ec.js +++ b/test/parallel/test-webcrypto-export-import-ec.js @@ -123,7 +123,8 @@ async function testImportSpki({ name, publicUsages }, namedCurve, extractable) { } else { await assert.rejects( subtle.exportKey('spki', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -165,7 +166,8 @@ async function testImportPkcs8( } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -270,11 +272,13 @@ async function testImportJwk( } else { await assert.rejects( subtle.exportKey('jwk', publicKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); await assert.rejects( subtle.exportKey('jwk', privateKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } diff --git a/test/parallel/test-webcrypto-export-import-ml-dsa.js b/test/parallel/test-webcrypto-export-import-ml-dsa.js index 38d619eb8c00ec..5b1bafbd461999 100644 --- a/test/parallel/test-webcrypto-export-import-ml-dsa.js +++ b/test/parallel/test-webcrypto-export-import-ml-dsa.js @@ -106,7 +106,8 @@ async function testImportSpki({ name, publicUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('spki', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -144,7 +145,8 @@ async function testImportPkcs8({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -181,7 +183,8 @@ async function testImportPkcs8SeedOnly({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -219,7 +222,8 @@ async function testImportPkcs8PrivOnly({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -299,11 +303,13 @@ async function testImportJwk({ name, publicUsages, privateUsages }, extractable) } else { await assert.rejects( subtle.exportKey('jwk', publicKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); await assert.rejects( subtle.exportKey('jwk', privateKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } diff --git a/test/parallel/test-webcrypto-export-import-ml-kem.js b/test/parallel/test-webcrypto-export-import-ml-kem.js index c927b5571a69da..887875a2a8b580 100644 --- a/test/parallel/test-webcrypto-export-import-ml-kem.js +++ b/test/parallel/test-webcrypto-export-import-ml-kem.js @@ -89,7 +89,8 @@ async function testImportSpki({ name, publicUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('spki', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -127,7 +128,8 @@ async function testImportPkcs8({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -164,7 +166,8 @@ async function testImportPkcs8SeedOnly({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -202,7 +205,8 @@ async function testImportPkcs8PrivOnly({ name, privateUsages }, extractable) { } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } diff --git a/test/parallel/test-webcrypto-export-import-rsa.js b/test/parallel/test-webcrypto-export-import-rsa.js index d3af8ec6c3adb9..e542365f52ded5 100644 --- a/test/parallel/test-webcrypto-export-import-rsa.js +++ b/test/parallel/test-webcrypto-export-import-rsa.js @@ -336,7 +336,8 @@ async function testImportSpki({ name, publicUsages }, size, hash, extractable) { } else { await assert.rejects( subtle.exportKey('spki', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } } @@ -372,7 +373,8 @@ async function testImportPkcs8( } else { await assert.rejects( subtle.exportKey('pkcs8', key), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); } @@ -479,11 +481,13 @@ async function testImportJwk( } else { await assert.rejects( subtle.exportKey('jwk', publicKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); await assert.rejects( subtle.exportKey('jwk', privateKey), { - message: /key is not extractable/ + message: /key is not extractable/, + name: 'InvalidAccessError', }); }