Skip to content

Commit 9cd106e

Browse files
panvatargos
authored andcommitted
crypto: use DataError for CFRG webcrypto raw and jwk import key checks
PR-URL: #45569 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
1 parent 9e2e3de commit 9cd106e

File tree

2 files changed

+3
-39
lines changed

2 files changed

+3
-39
lines changed

lib/internal/crypto/cfrg.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,19 @@ function createCFRGRawKey(name, keyData, isPublic) {
9090
case 'X25519':
9191
if (keyData.byteLength !== 32) {
9292
throw lazyDOMException(
93-
`${name} raw keys must be exactly 32-bytes`);
93+
`${name} raw keys must be exactly 32-bytes`, 'DataError');
9494
}
9595
break;
9696
case 'Ed448':
9797
if (keyData.byteLength !== 57) {
9898
throw lazyDOMException(
99-
`${name} raw keys must be exactly 57-bytes`);
99+
`${name} raw keys must be exactly 57-bytes`, 'DataError');
100100
}
101101
break;
102102
case 'X448':
103103
if (keyData.byteLength !== 56) {
104104
throw lazyDOMException(
105-
`${name} raw keys must be exactly 56-bytes`);
105+
`${name} raw keys must be exactly 56-bytes`, 'DataError');
106106
}
107107
break;
108108
}

test/wpt/status/WebCryptoAPI.json

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,6 @@
1111
"import_export/okp_importKey_failures_Ed25519.https.any.js": {
1212
"fail": {
1313
"expected": [
14-
"Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign])",
15-
"Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign])",
16-
"Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])",
17-
"Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])",
18-
"Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify])",
19-
"Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify])",
20-
"Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify])",
21-
"Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify])",
2214
"Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign])",
2315
"Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])"
2416
]
@@ -27,14 +19,6 @@
2719
"import_export/okp_importKey_failures_Ed448.https.any.js": {
2820
"fail": {
2921
"expected": [
30-
"Bad key length: importKey(jwk(private), {name: Ed448}, true, [sign])",
31-
"Bad key length: importKey(jwk(private), {name: Ed448}, false, [sign])",
32-
"Bad key length: importKey(jwk(private), {name: Ed448}, true, [sign, sign])",
33-
"Bad key length: importKey(jwk(private), {name: Ed448}, false, [sign, sign])",
34-
"Bad key length: importKey(jwk (public) , {name: Ed448}, true, [verify])",
35-
"Bad key length: importKey(jwk (public) , {name: Ed448}, false, [verify])",
36-
"Bad key length: importKey(jwk (public) , {name: Ed448}, true, [verify, verify])",
37-
"Bad key length: importKey(jwk (public) , {name: Ed448}, false, [verify, verify])",
3822
"Invalid key pair: importKey(jwk(private), {name: Ed448}, true, [sign])",
3923
"Invalid key pair: importKey(jwk(private), {name: Ed448}, true, [sign, sign])"
4024
]
@@ -43,16 +27,6 @@
4327
"import_export/okp_importKey_failures_X25519.https.any.js": {
4428
"fail": {
4529
"expected": [
46-
"Bad key length: importKey(jwk (public) , {name: X25519}, true, [])",
47-
"Bad key length: importKey(jwk (public) , {name: X25519}, false, [])",
48-
"Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey])",
49-
"Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey])",
50-
"Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])",
51-
"Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])",
52-
"Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits])",
53-
"Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits])",
54-
"Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
55-
"Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
5630
"Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey])",
5731
"Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])",
5832
"Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])",
@@ -63,16 +37,6 @@
6337
"import_export/okp_importKey_failures_X448.https.any.js": {
6438
"fail": {
6539
"expected": [
66-
"Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey])",
67-
"Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey])",
68-
"Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
69-
"Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])",
70-
"Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits])",
71-
"Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits])",
72-
"Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
73-
"Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
74-
"Bad key length: importKey(jwk (public) , {name: X448}, true, [])",
75-
"Bad key length: importKey(jwk (public) , {name: X448}, false, [])",
7640
"Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey])",
7741
"Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])",
7842
"Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits])",

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy