Skip to content

Commit 48de439

Browse files
committed
test,crypto: sha3 algorithms aren't supported with BoringSSL
1 parent 82fc81c commit 48de439

File tree

3 files changed

+160
-129
lines changed

3 files changed

+160
-129
lines changed

test/parallel/test-webcrypto-derivebits-hkdf.js

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,20 @@ const kDerivations = {
9191
empty: '9e4b719033742101e90f1ad61e2ff3b4' +
9292
'256863667296d74389f1f02af2c4e6a6'
9393
},
94-
'SHA3-256': {
95-
normal: '386b0693d7a58c4ddf01b49bfbbd2fa87c6f911991543995170ba20ed28df599',
96-
empty: 'd029bc828b6c6c8bb16ce3d25f5058f19c7d2517745e11c5d65c6d242e82e47f',
97-
},
98-
'SHA3-384': {
99-
normal: '8c3b72e659bad40bcd14bdc1f7c3836059d24253795ab046a272973fd0456508',
100-
empty: '3211ff4c676f761494c1ca2683d2d4662fe1d770ae5c58ebf6af6acb181c7d71',
101-
},
102-
'SHA3-512': {
103-
normal: '5588c5c70cb3dd2f95323da2e9d5f299ca99c301d920a499330c449d21c645cd',
104-
empty: '2c944b916c2751a71a1b5e57fcb487939c624335683995770b9f7cc7cbbb21f0',
105-
},
94+
...(!process.features.openssl_is_boringssl ? {
95+
'SHA3-256': {
96+
normal: '386b0693d7a58c4ddf01b49bfbbd2fa87c6f911991543995170ba20ed28df599',
97+
empty: 'd029bc828b6c6c8bb16ce3d25f5058f19c7d2517745e11c5d65c6d242e82e47f',
98+
},
99+
'SHA3-384': {
100+
normal: '8c3b72e659bad40bcd14bdc1f7c3836059d24253795ab046a272973fd0456508',
101+
empty: '3211ff4c676f761494c1ca2683d2d4662fe1d770ae5c58ebf6af6acb181c7d71',
102+
},
103+
'SHA3-512': {
104+
normal: '5588c5c70cb3dd2f95323da2e9d5f299ca99c301d920a499330c449d21c645cd',
105+
empty: '2c944b916c2751a71a1b5e57fcb487939c624335683995770b9f7cc7cbbb21f0',
106+
},
107+
} : {}),
106108
},
107109
empty: {
108110
'SHA-384': {
@@ -129,18 +131,20 @@ const kDerivations = {
129131
empty: 'c8e12774135305c9147f2cc4766e5ead' +
130132
'25d8f457b9a1953d52677361ced558fb'
131133
},
132-
'SHA3-256': {
133-
normal: '9befc557f5baf4075b5fb38c014b41b92ab7534150baf64201069e8807d0e83d',
134-
empty: '54d1fa1aa7cad99dab0622b772170e775c103756183bac36a228fd817a98a3f6',
135-
},
136-
'SHA3-384': {
137-
normal: '46b54c015e368677edf7ac16963bccd9d2ba8246eef0e8beb04d8d188774b91b',
138-
empty: '46eb0b2649bb0f605d70e4818ffc8176ee1be9782396e69fb4d0fd7cfe902b55',
139-
},
140-
'SHA3-512': {
141-
normal: 'aa4375c82b5d7a3cac88a0423250b3882f140c253e98e8e7a0f6055b0908e4c2',
142-
empty: '6613003f98602ddb53ac35f5aa256c9f5279d50ee65bb08fdf2ecf65cc5df27f',
143-
},
134+
...(!process.features.openssl_is_boringssl ? {
135+
'SHA3-256': {
136+
normal: '9befc557f5baf4075b5fb38c014b41b92ab7534150baf64201069e8807d0e83d',
137+
empty: '54d1fa1aa7cad99dab0622b772170e775c103756183bac36a228fd817a98a3f6',
138+
},
139+
'SHA3-384': {
140+
normal: '46b54c015e368677edf7ac16963bccd9d2ba8246eef0e8beb04d8d188774b91b',
141+
empty: '46eb0b2649bb0f605d70e4818ffc8176ee1be9782396e69fb4d0fd7cfe902b55',
142+
},
143+
'SHA3-512': {
144+
normal: 'aa4375c82b5d7a3cac88a0423250b3882f140c253e98e8e7a0f6055b0908e4c2',
145+
empty: '6613003f98602ddb53ac35f5aa256c9f5279d50ee65bb08fdf2ecf65cc5df27f',
146+
},
147+
} : {}),
144148
}
145149
},
146150
long: {
@@ -169,18 +173,20 @@ const kDerivations = {
169173
empty: 'e579d1f9e7f08e6f990ffcfcce1ed201' +
170174
'c5e37e62cdf606f0ba4aca80427fbc44'
171175
},
172-
'SHA3-256': {
173-
normal: '24f38fd1905554b7cbf8395cc3976292d11ce24a0b3131da0fd4b109832d27e3',
174-
empty: '33d0a5151c0f52e4bb7fb67cf7a17063127624dc3e685903f49ebb07872084d1',
175-
},
176-
'SHA3-384': {
177-
normal: '15777581a1ea81ad0baac8a97d954df4142f7260d9e8351aa7f6ef6de2d04632',
178-
empty: 'ada4da4e28dc971633a8760b265b3019db57baf17e7bf7e13cf78b1a676f6d44',
179-
},
180-
'SHA3-512': {
181-
normal: '621e4602b07fcba55ed6b976a8bef513b0f7c4ad0c546e0f852993051d887408',
182-
empty: 'f1292af65b05c86cf7146b739bc65785c707450316f3207ee54a3f596a7d0f7b',
183-
},
176+
...(!process.features.openssl_is_boringssl ? {
177+
'SHA3-256': {
178+
normal: '24f38fd1905554b7cbf8395cc3976292d11ce24a0b3131da0fd4b109832d27e3',
179+
empty: '33d0a5151c0f52e4bb7fb67cf7a17063127624dc3e685903f49ebb07872084d1',
180+
},
181+
'SHA3-384': {
182+
normal: '15777581a1ea81ad0baac8a97d954df4142f7260d9e8351aa7f6ef6de2d04632',
183+
empty: 'ada4da4e28dc971633a8760b265b3019db57baf17e7bf7e13cf78b1a676f6d44',
184+
},
185+
'SHA3-512': {
186+
normal: '621e4602b07fcba55ed6b976a8bef513b0f7c4ad0c546e0f852993051d887408',
187+
empty: 'f1292af65b05c86cf7146b739bc65785c707450316f3207ee54a3f596a7d0f7b',
188+
},
189+
} : {}),
184190
},
185191
empty: {
186192
'SHA-384': {
@@ -207,18 +213,20 @@ const kDerivations = {
207213
empty: 'b4f7e7557674d501cbfbc0148ad800c0' +
208214
'750189fe295a2aca5e1bf4122c85edf9'
209215
},
210-
'SHA3-256': {
211-
normal: 'fe32459f7339dd2e8df6c6fc874ed9e81e3b7aad669edad9b71196f53ed95b12',
212-
empty: '04519be1eb94079c91306cc5b21946b3de6a78ad35ec83d4f4a37bafbda678d7',
213-
},
214-
'SHA3-384': {
215-
normal: 'a474e8289cb4a0511e90b87eaf9ec29cadd74d4c1f2ee1fb8cb5f7d08f91a379',
216-
empty: '726c8c4b39083a7d5755604d3a67e9aa6139db00c08028ac9e69f7fb1525bf1d',
217-
},
218-
'SHA3-512': {
219-
normal: 'c7a7f5004d1d595c6896498c169642ac24b946e13296ff53e12b534962a88675',
220-
empty: '7b543480b5696932551abb3100d72e05c18f57fbb63aa44fe020bef1eec3555c',
221-
},
216+
...(!process.features.openssl_is_boringssl ? {
217+
'SHA3-256': {
218+
normal: 'fe32459f7339dd2e8df6c6fc874ed9e81e3b7aad669edad9b71196f53ed95b12',
219+
empty: '04519be1eb94079c91306cc5b21946b3de6a78ad35ec83d4f4a37bafbda678d7',
220+
},
221+
'SHA3-384': {
222+
normal: 'a474e8289cb4a0511e90b87eaf9ec29cadd74d4c1f2ee1fb8cb5f7d08f91a379',
223+
empty: '726c8c4b39083a7d5755604d3a67e9aa6139db00c08028ac9e69f7fb1525bf1d',
224+
},
225+
'SHA3-512': {
226+
normal: 'c7a7f5004d1d595c6896498c169642ac24b946e13296ff53e12b534962a88675',
227+
empty: '7b543480b5696932551abb3100d72e05c18f57fbb63aa44fe020bef1eec3555c',
228+
},
229+
} : {}),
222230
}
223231
},
224232
};

test/parallel/test-webcrypto-derivekey.js

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,21 @@ const { KeyObject } = require('crypto');
135135
'201509b012c9cd2fbe7ea938f0c509b36ecb140f38bf9130e96923f55f46756d'],
136136
['hello', 'there', 5, 'SHA-512',
137137
'2e8d981741f98193e0af9c79870af0e985089341221edad9a130d297eae1984b'],
138-
['hello', 'there', 5, 'SHA3-256',
139-
'0aed29b61b3ca3978aea34a9793276574ea997b69e8d03727438199f90571649'],
140-
['hello', 'there', 5, 'SHA3-384',
141-
'7aa4a274aa19b4623c5d3091c4b06355de85ff6f25e53a83e3126cbb86ae68df'],
142-
['hello', 'there', 5, 'SHA3-512',
143-
'4d909c47a81c625f866d1f9406248e6bc3c7ea89225fbccf1f08820254c9ef56'],
144138
];
145139

140+
if (!process.features.openssl_is_boringssl) {
141+
kTests.push(
142+
['hello', 'there', 5, 'SHA3-256',
143+
'0aed29b61b3ca3978aea34a9793276574ea997b69e8d03727438199f90571649'],
144+
['hello', 'there', 5, 'SHA3-384',
145+
'7aa4a274aa19b4623c5d3091c4b06355de85ff6f25e53a83e3126cbb86ae68df'],
146+
['hello', 'there', 5, 'SHA3-512',
147+
'4d909c47a81c625f866d1f9406248e6bc3c7ea89225fbccf1f08820254c9ef56']
148+
);
149+
} else {
150+
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
151+
}
152+
146153
const tests = Promise.all(kTests.map((args) => test(...args)));
147154

148155
tests.then(common.mustCall());
@@ -158,16 +165,23 @@ const { KeyObject } = require('crypto');
158165
// Not long enough secret generated by ECDH
159166
[{ name: 'HMAC', hash: 'SHA-384' }, 'sign', 1024],
160167
[{ name: 'HMAC', hash: 'SHA-512' }, 'sign', 1024],
161-
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
162-
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
163-
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
164-
// This interaction is not defined for now.
165-
// https://github.com/WICG/webcrypto-modern-algos/issues/23
166-
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
167-
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
168-
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
169168
];
170169

170+
if (!process.features.openssl_is_boringssl) {
171+
vectors.push(
172+
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
173+
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
174+
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512]
175+
// This interaction is not defined for now.
176+
// https://github.com/WICG/webcrypto-modern-algos/issues/23
177+
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
178+
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
179+
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
180+
);
181+
} else {
182+
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
183+
}
184+
171185
if (hasOpenSSL(3)) {
172186
vectors.push(
173187
['KMAC128', 'sign', 128],
@@ -211,16 +225,23 @@ const { KeyObject } = require('crypto');
211225
[{ name: 'HMAC', hash: 'SHA-256' }, 'sign', 512],
212226
[{ name: 'HMAC', hash: 'SHA-384' }, 'sign', 1024],
213227
[{ name: 'HMAC', hash: 'SHA-512' }, 'sign', 1024],
214-
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
215-
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
216-
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
217-
// This interaction is not defined for now.
218-
// https://github.com/WICG/webcrypto-modern-algos/issues/23
219-
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
220-
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
221-
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
222228
];
223229

230+
if (!process.features.openssl_is_boringssl) {
231+
vectors.push(
232+
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
233+
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
234+
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
235+
// This interaction is not defined for now.
236+
// https://github.com/WICG/webcrypto-modern-algos/issues/23
237+
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
238+
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
239+
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
240+
);
241+
} else {
242+
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
243+
}
244+
224245
if (hasOpenSSL(3)) {
225246
vectors.push(
226247
['KMAC128', 'sign', 128],

test/parallel/test-webcrypto-digest.js

Lines changed: 61 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -148,65 +148,67 @@ const kDigestedData = {
148148
'60b22aab8d36a4c2a3affdb71234f49276737c575ddf7' +
149149
'4d14054cbd6fdb98fd0ddcbcb46f91ad76b6ee'
150150
},
151-
'cshake128': {
152-
empty: '7f9c2ba4e88f827d616045507605853ed73b8093f6e' +
153-
'fbc88eb1a6eacfa66ef26',
154-
short: 'dea62d73e6b59cf725d0320d660089a4475cbbd3b85' +
155-
'39e36691f150d47556794',
156-
medium: 'b1acd53a03e76a221e52ea578e042f686a68c3d1c9' +
157-
'832ab18285cf4f304ca32d',
158-
long: '3a5bf5676955e5dec87d430e526925558971ca14c370' +
159-
'ee5d7cf572b94c7c63d7'
160-
},
161-
'cshake256': {
162-
empty: '46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b' +
163-
'81b82b50c27646ed5762fd75dc4ddd8c0f200cb0501' +
164-
'9d67b592f6fc821c49479ab48640292eacb3b7c4be',
165-
short: '1738113f5abb3ee5320ee18aa266c3617a7475dbd8e' +
166-
'd9a985994fddd6112ad999ec8e2ebdfeafb96e76f6b' +
167-
'b3a3adba43da60f00cd12496df5af3e28ae6d3de42',
168-
medium: '4146c13d86d9bc186b0b309ab6a124ee0c74ba26b8' +
169-
'c60dcc7b3ed505969aa8d19028c6317999a085b1e6' +
170-
'b6a785ce4ff632aeb27493227e44232fb7b3952141' +
171-
'7b',
172-
long: '0c42bfd1e282622fd8144aa29b072fd09fc2bae70885' +
173-
'd5290933492f9d17411926a613dd0611668c2ac999e8' +
174-
'c011aabaa9004323425fbad75b0f58ee6e777a94'
175-
},
176-
'sha3-256': {
177-
empty: 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a',
178-
short: '3059af7aa33b517084e8ad7bbc4fb208a44c28ef32b4698d103dd540e4f91aa1',
179-
medium: '1fa7cd1da74cd8046417508c8314e74a9a4a9d38f9f18e6cb215b8c891a0a80e',
180-
long: 'b2cfc61e0386cdaef5e10a2be189891f5ef52a7624bfcd8edc893acc64fec600'
181-
},
182-
'sha3-384': {
183-
empty: '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa9' +
184-
'4fc61995e71bbee983a2ac3713831264adb47fb6bd1' +
185-
'e058d5f004',
186-
short: '54b8f0e4cf4974de740098f66b3024479b01631315a' +
187-
'6773606c33eadc32556a6e778e08f0225ae79265aec' +
188-
'666cb2390b',
189-
medium: '437b7d8b68b250b5c1739ea4cc86db2033879dfb18' +
190-
'de292c9c50d9c193a4c79a08a6cae3f4e483c2795e' +
191-
'a5d1ef7e69d2',
192-
long: '3b39c4c97ad87613305d0ccc987181713e2d5e84b1f9' +
193-
'760011bcce0c297499005bdce8a3d2409b5ad0164f32' +
194-
'bb8778d0'
195-
},
196-
'sha3-512': {
197-
empty: 'a69f73cca23a9ac5c8b567dc185a756e97c982164fe' +
198-
'25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9' +
199-
'402c3ac558f500199d95b6d3e301758586281dcd26',
200-
short: '2dd2e07a62e6ad0498ba84f313c4d4024cb46001f78' +
201-
'f75db336b0d4d8bd2a9ec152c4ad20878735d82ba08' +
202-
'72ecf59608ef3ced2b2a8669427e7da31e362333d8',
203-
medium: 'e640a21909536640369e9b0a48931c5cb2efcbc91f' +
204-
'ecf247306bc96a0e4ca33307cb8e1b9af367946dd01' +
205-
'c243f3907508d04f1692a3161df1f898de8ee25febe',
206-
long: 'bd262cecf565c338032de5ba0138f0aacfe7dde83d27' +
207-
'2d0d37d952829ed25de1a1342d98659ef7d2fa4aca7c' +
208-
'e2b1aa0784d8fc1dcbf81bcec7a7431a3da36bf7'
209-
}
151+
...(!process.features.openssl_is_boringssl ? {
152+
'cshake128': {
153+
empty: '7f9c2ba4e88f827d616045507605853ed73b8093f6e' +
154+
'fbc88eb1a6eacfa66ef26',
155+
short: 'dea62d73e6b59cf725d0320d660089a4475cbbd3b85' +
156+
'39e36691f150d47556794',
157+
medium: 'b1acd53a03e76a221e52ea578e042f686a68c3d1c9' +
158+
'832ab18285cf4f304ca32d',
159+
long: '3a5bf5676955e5dec87d430e526925558971ca14c370' +
160+
'ee5d7cf572b94c7c63d7'
161+
},
162+
'cshake256': {
163+
empty: '46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b' +
164+
'81b82b50c27646ed5762fd75dc4ddd8c0f200cb0501' +
165+
'9d67b592f6fc821c49479ab48640292eacb3b7c4be',
166+
short: '1738113f5abb3ee5320ee18aa266c3617a7475dbd8e' +
167+
'd9a985994fddd6112ad999ec8e2ebdfeafb96e76f6b' +
168+
'b3a3adba43da60f00cd12496df5af3e28ae6d3de42',
169+
medium: '4146c13d86d9bc186b0b309ab6a124ee0c74ba26b8' +
170+
'c60dcc7b3ed505969aa8d19028c6317999a085b1e6' +
171+
'b6a785ce4ff632aeb27493227e44232fb7b3952141' +
172+
'7b',
173+
long: '0c42bfd1e282622fd8144aa29b072fd09fc2bae70885' +
174+
'd5290933492f9d17411926a613dd0611668c2ac999e8' +
175+
'c011aabaa9004323425fbad75b0f58ee6e777a94'
176+
},
177+
'sha3-256': {
178+
empty: 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a',
179+
short: '3059af7aa33b517084e8ad7bbc4fb208a44c28ef32b4698d103dd540e4f91aa1',
180+
medium: '1fa7cd1da74cd8046417508c8314e74a9a4a9d38f9f18e6cb215b8c891a0a80e',
181+
long: 'b2cfc61e0386cdaef5e10a2be189891f5ef52a7624bfcd8edc893acc64fec600'
182+
},
183+
'sha3-384': {
184+
empty: '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa9' +
185+
'4fc61995e71bbee983a2ac3713831264adb47fb6bd1' +
186+
'e058d5f004',
187+
short: '54b8f0e4cf4974de740098f66b3024479b01631315a' +
188+
'6773606c33eadc32556a6e778e08f0225ae79265aec' +
189+
'666cb2390b',
190+
medium: '437b7d8b68b250b5c1739ea4cc86db2033879dfb18' +
191+
'de292c9c50d9c193a4c79a08a6cae3f4e483c2795e' +
192+
'a5d1ef7e69d2',
193+
long: '3b39c4c97ad87613305d0ccc987181713e2d5e84b1f9' +
194+
'760011bcce0c297499005bdce8a3d2409b5ad0164f32' +
195+
'bb8778d0'
196+
},
197+
'sha3-512': {
198+
empty: 'a69f73cca23a9ac5c8b567dc185a756e97c982164fe' +
199+
'25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9' +
200+
'402c3ac558f500199d95b6d3e301758586281dcd26',
201+
short: '2dd2e07a62e6ad0498ba84f313c4d4024cb46001f78' +
202+
'f75db336b0d4d8bd2a9ec152c4ad20878735d82ba08' +
203+
'72ecf59608ef3ced2b2a8669427e7da31e362333d8',
204+
medium: 'e640a21909536640369e9b0a48931c5cb2efcbc91f' +
205+
'ecf247306bc96a0e4ca33307cb8e1b9af367946dd01' +
206+
'c243f3907508d04f1692a3161df1f898de8ee25febe',
207+
long: 'bd262cecf565c338032de5ba0138f0aacfe7dde83d27' +
208+
'2d0d37d952829ed25de1a1342d98659ef7d2fa4aca7c' +
209+
'e2b1aa0784d8fc1dcbf81bcec7a7431a3da36bf7'
210+
}
211+
} : {}),
210212
};
211213

212214
async function testDigest(size, alg) {

0 commit comments

Comments
 (0)