Commit 788a66e
crypto: share WebCrypto method and usage helpers
Introduce prepareSubtleMethod() and convertSubtleArgument() for the
common SubtleCrypto call prelude. Methods now reuse the same receiver
check, required-argument check, error prefix construction, argument
context selection, and WebIDL conversion path.
Introduce WebCrypto key usage helpers for common usage validation and
key pair usage splitting. Algorithm modules now define their allowed
public, private, and key generation usages once, then call the shared
helpers from generateKey() and importKey() paths.
This removes repeated function-invocation setup in webcrypto.js and
repeated key usage checks across the WebCrypto algorithm modules while
preserving the existing validation behavior.
Mark normalized-algorithm fallback branches as unreachable assertions.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #63975
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>1 parent b62d569 commit 788a66e
12 files changed
Lines changed: 541 additions & 772 deletions
File tree
- lib/internal/crypto
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 3 | | |
9 | 4 | | |
10 | 5 | | |
| |||
28 | 23 | | |
29 | 24 | | |
30 | 25 | | |
31 | | - | |
32 | 26 | | |
33 | 27 | | |
34 | 28 | | |
| |||
46 | 40 | | |
47 | 41 | | |
48 | 42 | | |
| 43 | + | |
| 44 | + | |
49 | 45 | | |
50 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
51 | 59 | | |
52 | 60 | | |
53 | 61 | | |
| |||
176 | 184 | | |
177 | 185 | | |
178 | 186 | | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
| 187 | + | |
| 188 | + | |
194 | 189 | | |
195 | 190 | | |
196 | 191 | | |
| |||
207 | 202 | | |
208 | 203 | | |
209 | 204 | | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
| 205 | + | |
220 | 206 | | |
221 | 207 | | |
222 | 208 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
31 | 29 | | |
32 | 30 | | |
33 | 31 | | |
| |||
42 | 40 | | |
43 | 41 | | |
44 | 42 | | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
49 | 52 | | |
50 | 53 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
74 | 65 | | |
75 | 66 | | |
76 | 67 | | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
| 68 | + | |
| 69 | + | |
99 | 70 | | |
100 | 71 | | |
101 | 72 | | |
| |||
104 | 75 | | |
105 | 76 | | |
106 | 77 | | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | 78 | | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
| 79 | + | |
| 80 | + | |
131 | 81 | | |
132 | 82 | | |
133 | 83 | | |
134 | 84 | | |
135 | 85 | | |
136 | | - | |
137 | | - | |
| 86 | + | |
| 87 | + | |
138 | 88 | | |
139 | 89 | | |
140 | 90 | | |
| |||
173 | 123 | | |
174 | 124 | | |
175 | 125 | | |
| 126 | + | |
176 | 127 | | |
177 | 128 | | |
178 | 129 | | |
179 | | - | |
180 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
181 | 136 | | |
182 | 137 | | |
183 | 138 | | |
184 | | - | |
| 139 | + | |
185 | 140 | | |
186 | 141 | | |
187 | 142 | | |
188 | 143 | | |
189 | | - | |
| 144 | + | |
190 | 145 | | |
191 | 146 | | |
192 | 147 | | |
| |||
205 | 160 | | |
206 | 161 | | |
207 | 162 | | |
208 | | - | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
209 | 167 | | |
210 | 168 | | |
211 | 169 | | |
212 | 170 | | |
213 | | - | |
| 171 | + | |
214 | 172 | | |
215 | 173 | | |
216 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | 3 | | |
8 | 4 | | |
9 | 5 | | |
| |||
12 | 8 | | |
13 | 9 | | |
14 | 10 | | |
15 | | - | |
16 | 11 | | |
17 | 12 | | |
18 | 13 | | |
| |||
29 | 24 | | |
30 | 25 | | |
31 | 26 | | |
| 27 | + | |
| 28 | + | |
32 | 29 | | |
33 | 30 | | |
| 31 | + | |
| 32 | + | |
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
| |||
49 | 48 | | |
50 | 49 | | |
51 | 50 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 51 | + | |
| 52 | + | |
65 | 53 | | |
66 | 54 | | |
67 | 55 | | |
| |||
78 | 66 | | |
79 | 67 | | |
80 | 68 | | |
81 | | - | |
82 | 69 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
| 70 | + | |
| 71 | + | |
89 | 72 | | |
90 | 73 | | |
91 | 74 | | |
| |||
0 commit comments