Skip to content

Commit 6fa6d69

Browse files
jellyaduh95
authored andcommitted
test: make test-crypto-hash compatible with OpenSSL > 3.4.0
OpenSSL 3.4 has a breaking change where the outputLength is now mandatory for shake* hash algorithms. openssl/openssl@b911fef PR-URL: #56160 Refs: #56159 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Richard Lau <[email protected]>
1 parent 48c813f commit 6fa6d69

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

test/parallel/test-crypto-hash.js

+16-13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const assert = require('assert');
77
const crypto = require('crypto');
88
const fs = require('fs');
99

10+
const { hasOpenSSL } = common;
1011
const fixtures = require('../common/fixtures');
1112

1213
let cryptoType;
@@ -182,19 +183,21 @@ assert.throws(
182183

183184
// Test XOF hash functions and the outputLength option.
184185
{
185-
// Default outputLengths.
186-
assert.strictEqual(crypto.createHash('shake128').digest('hex'),
187-
'7f9c2ba4e88f827d616045507605853e');
188-
assert.strictEqual(crypto.createHash('shake128', null).digest('hex'),
189-
'7f9c2ba4e88f827d616045507605853e');
190-
assert.strictEqual(crypto.createHash('shake256').digest('hex'),
191-
'46b9dd2b0ba88d13233b3feb743eeb24' +
192-
'3fcd52ea62b81b82b50c27646ed5762f');
193-
assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 })
194-
.copy() // Default outputLength.
195-
.digest('hex'),
196-
'46b9dd2b0ba88d13233b3feb743eeb24' +
197-
'3fcd52ea62b81b82b50c27646ed5762f');
186+
// Default outputLengths. Since OpenSSL 3.4 an outputLength is mandatory
187+
if (!hasOpenSSL(3, 4)) {
188+
assert.strictEqual(crypto.createHash('shake128').digest('hex'),
189+
'7f9c2ba4e88f827d616045507605853e');
190+
assert.strictEqual(crypto.createHash('shake128', null).digest('hex'),
191+
'7f9c2ba4e88f827d616045507605853e');
192+
assert.strictEqual(crypto.createHash('shake256').digest('hex'),
193+
'46b9dd2b0ba88d13233b3feb743eeb24' +
194+
'3fcd52ea62b81b82b50c27646ed5762f');
195+
assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 })
196+
.copy() // Default outputLength.
197+
.digest('hex'),
198+
'46b9dd2b0ba88d13233b3feb743eeb24' +
199+
'3fcd52ea62b81b82b50c27646ed5762f');
200+
}
198201

199202
// Short outputLengths.
200203
assert.strictEqual(crypto.createHash('shake128', { outputLength: 0 })

0 commit comments

Comments
 (0)