mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 12:20:27 +01:00
test,crypto: sha3 algorithms aren't supported with BoringSSL
PR-URL: https://github.com/nodejs/node/pull/60374 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
2bda7cbfb6
commit
a347d44ed9
96
test/fixtures/crypto/ecdsa.js
vendored
96
test/fixtures/crypto/ecdsa.js
vendored
|
|
@ -72,18 +72,20 @@ module.exports = function() {
|
|||
'b6a0a14d7e4bc6dd2eda82c9234f174b670b60c8f7d101f68fdf5889e02373b025' +
|
||||
'dcbc4c82f2929b8e06c68535da98e38fe399c53a814b097935581ef21535eb',
|
||||
'hex'),
|
||||
'SHA3-256': Buffer.from(
|
||||
'f6a48eb5557f484ed0c3e4b5c78a3cf497cbd346db06a4165d429248aa2cc51a69' +
|
||||
'747d09f57af145469a8b607a9b8b9709629d74e8f5ca337c6ddc581b6f6103',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'777785978eb59da32888554dc7fd62d1ba1a3033cddaa8c36b8f3dcea8f85e1c8e' +
|
||||
'6db26f509747bd144dfa9436784bf4abbcaa6abcf1ecc09cea3b921d46738c',
|
||||
'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'0f01c2083b5dd7fccb2784563f88cd9a815d570a1690695e426643ab725780760d' +
|
||||
'e972e26e18d67f5557be89f17b4cd0065ce2937de299bdb2e972ebf7635084',
|
||||
'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': Buffer.from(
|
||||
'f6a48eb5557f484ed0c3e4b5c78a3cf497cbd346db06a4165d429248aa2cc51a69' +
|
||||
'747d09f57af145469a8b607a9b8b9709629d74e8f5ca337c6ddc581b6f6103',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'777785978eb59da32888554dc7fd62d1ba1a3033cddaa8c36b8f3dcea8f85e1c8e' +
|
||||
'6db26f509747bd144dfa9436784bf4abbcaa6abcf1ecc09cea3b921d46738c',
|
||||
'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'0f01c2083b5dd7fccb2784563f88cd9a815d570a1690695e426643ab725780760d' +
|
||||
'e972e26e18d67f5557be89f17b4cd0065ce2937de299bdb2e972ebf7635084',
|
||||
'hex')
|
||||
} : {})
|
||||
},
|
||||
'P-384': {
|
||||
'SHA-1': Buffer.from(
|
||||
|
|
@ -102,18 +104,20 @@ module.exports = function() {
|
|||
'72fbdb369fd34c1c54264d07f4facd69b02e4206f8a8bb259b882a305c56fde2d3' +
|
||||
'5107e493c53cd6b4af0b31306f4d03fd43cfc762a1030e17a3d775453a1212b142' +
|
||||
'9f7b3d93066a5f42a10b138cd177dc09616e827d598822d78d4627b754e6', 'hex'),
|
||||
'SHA3-256': Buffer.from(
|
||||
'0b07c078be30fa5925a307d6fc559c5f398e63fb5d007d6b24a834847f2d3d18d5' +
|
||||
'b5e840711c52a7bc6626c3ced93301e873c013a706f6b297c12cc6d47a71e0529e' +
|
||||
'719f43957de9995621d3cb0217469adaa6fd3135470771d0aa9d05d7a9c6', 'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'2f36e8b04af46f68ef900c2720e3518b06f5440865d44072bbad5d62288c575042' +
|
||||
'b183a372acd70328c738668dcecb9866801462d62df3c35450fdc6c95433103fcd' +
|
||||
'c77999b640e3f92bd4e9be6e27ab129d1bc4f0b2a4c829388666920892d3', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'32a951e886c33ac57a008efe9643bc92aa3ece9521d115e0c7240caecf124d1f7c' +
|
||||
'dcba7fabb9ad5202e04f7aa591ab01ed3f060f04f493e4f24430fe8159200612f0' +
|
||||
'2849108b8be6edc8494c328097ad9265928efe5cb9d91be2f013ee17ee4e', 'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': Buffer.from(
|
||||
'0b07c078be30fa5925a307d6fc559c5f398e63fb5d007d6b24a834847f2d3d18d5' +
|
||||
'b5e840711c52a7bc6626c3ced93301e873c013a706f6b297c12cc6d47a71e0529e' +
|
||||
'719f43957de9995621d3cb0217469adaa6fd3135470771d0aa9d05d7a9c6', 'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'2f36e8b04af46f68ef900c2720e3518b06f5440865d44072bbad5d62288c575042' +
|
||||
'b183a372acd70328c738668dcecb9866801462d62df3c35450fdc6c95433103fcd' +
|
||||
'c77999b640e3f92bd4e9be6e27ab129d1bc4f0b2a4c829388666920892d3', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'32a951e886c33ac57a008efe9643bc92aa3ece9521d115e0c7240caecf124d1f7c' +
|
||||
'dcba7fabb9ad5202e04f7aa591ab01ed3f060f04f493e4f24430fe8159200612f0' +
|
||||
'2849108b8be6edc8494c328097ad9265928efe5cb9d91be2f013ee17ee4e', 'hex')
|
||||
} : {})
|
||||
},
|
||||
'P-521': {
|
||||
'SHA-1': Buffer.from(
|
||||
|
|
@ -140,29 +144,35 @@ module.exports = function() {
|
|||
'01f0071e6a32867fa70f695cd39c4e87e142b9e4134d38740bd6fee354a575167e' +
|
||||
'13524e94832637910fe11e53a85fb21b91adb81bb1779c4e2b8bc87c717dc35084',
|
||||
'hex'),
|
||||
'SHA3-256': Buffer.from(
|
||||
'00463679f47a4c705e03447360dcf34d1743e0d4b2591cc66832a6bc80d92e538c' +
|
||||
'169a1fd330f98e7235ca7fec7e16ac44fb13095b8edf2c76b75c4845177d59e425' +
|
||||
'0127c4359f6a4c9ccb63e7a9ff8122c0b4a8b7408e28c96817ecc3baf8c559c413' +
|
||||
'c3bb580447dec9f52139b2afde369cd51730f050bc94137556ae137f0509464219',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'01969a4db0888bc067a68a31fe5d0fc97e0b701f570565f7b25cb27707c6f020ff' +
|
||||
'680f8553ec5c2d6885e9e91b39262ed1bde375525eb13fdf12089b7939c7689735' +
|
||||
'0101c8b8d1129a217e8e956bef78cf7b9a0458523b04ac8e0b84ce73d54326f7a8' +
|
||||
'704ee42fe183f3ef79d83e676f34dc5476e2342641a5b973d3d94e8503676fbbc5',
|
||||
'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'000f362e914ee0136663cf57bf4085c25604af6dc198b4818751e1195ee7e41a16' +
|
||||
'91be909dcbc2bae00b8917f6bb918eae3740ac1b76e0913137c2da1171d6400b55' +
|
||||
'01ec6e1dc5987a27fe16fc2ce5c8e954088f898a9bbefb176eaa8bbd9ccc264c4c' +
|
||||
'cc38c83ac8b5a168f90228daf8405a2b9bf7829c263a646b4e1098e2ace38deec7',
|
||||
'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': Buffer.from(
|
||||
'00463679f47a4c705e03447360dcf34d1743e0d4b2591cc66832a6bc80d92e538c' +
|
||||
'169a1fd330f98e7235ca7fec7e16ac44fb13095b8edf2c76b75c4845177d59e425' +
|
||||
'0127c4359f6a4c9ccb63e7a9ff8122c0b4a8b7408e28c96817ecc3baf8c559c413' +
|
||||
'c3bb580447dec9f52139b2afde369cd51730f050bc94137556ae137f0509464219',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'01969a4db0888bc067a68a31fe5d0fc97e0b701f570565f7b25cb27707c6f020ff' +
|
||||
'680f8553ec5c2d6885e9e91b39262ed1bde375525eb13fdf12089b7939c7689735' +
|
||||
'0101c8b8d1129a217e8e956bef78cf7b9a0458523b04ac8e0b84ce73d54326f7a8' +
|
||||
'704ee42fe183f3ef79d83e676f34dc5476e2342641a5b973d3d94e8503676fbbc5',
|
||||
'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'000f362e914ee0136663cf57bf4085c25604af6dc198b4818751e1195ee7e41a16' +
|
||||
'91be909dcbc2bae00b8917f6bb918eae3740ac1b76e0913137c2da1171d6400b55' +
|
||||
'01ec6e1dc5987a27fe16fc2ce5c8e954088f898a9bbefb176eaa8bbd9ccc264c4c' +
|
||||
'cc38c83ac8b5a168f90228daf8405a2b9bf7829c263a646b4e1098e2ace38deec7',
|
||||
'hex')
|
||||
} : {})
|
||||
}
|
||||
}
|
||||
|
||||
const curves = ['P-256', 'P-384', 'P-521'];
|
||||
const hashes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512', 'SHA3-256', 'SHA3-384', 'SHA3-512'];
|
||||
const hashes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'];
|
||||
|
||||
if (!process.features.openssl_is_boringssl) {
|
||||
hashes.push('SHA3-256', 'SHA3-384', 'SHA3-512');
|
||||
}
|
||||
|
||||
const vectors = [];
|
||||
curves.forEach((namedCurve) => {
|
||||
|
|
|
|||
44
test/fixtures/crypto/hmac.js
vendored
44
test/fixtures/crypto/hmac.js
vendored
|
|
@ -22,16 +22,18 @@ module.exports = function () {
|
|||
'5dcc359443aaf652fa1375d6b3e61fdcf29bb4a28bd5d3dcfa40f82f906bb280' +
|
||||
'0455db03b5d31fb972a15a6d0103a24e56d156a119c0e5a1e92a44c3c5657cf9',
|
||||
'hex'),
|
||||
'SHA3-256': Buffer.from(
|
||||
'e588ec0811463d767241df1074b47ae4071b51f2ce36537ba69ccdc3fdc2b7a8',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'6b1da28eab1f582ad9718effe05e23d5fd2c9877a2d9443f90bec093bece2ea7' +
|
||||
'd2354cd0bdc5e147d2e9009373494488', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'5dcc359443aaf652fa1375d6b3e61fdcf29bb4a28bd5d3dcfa40f82f906bb280' +
|
||||
'0455db03b5d31fb972a15a6d0103a24e56d156a119c0e5a1e92a44c3c5657cf9',
|
||||
'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': Buffer.from(
|
||||
'e588ec0811463d767241df1074b47ae4071b51f2ce36537ba69ccdc3fdc2b7a8',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'6b1da28eab1f582ad9718effe05e23d5fd2c9877a2d9443f90bec093bece2ea7' +
|
||||
'd2354cd0bdc5e147d2e9009373494488', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'5dcc359443aaf652fa1375d6b3e61fdcf29bb4a28bd5d3dcfa40f82f906bb280' +
|
||||
'0455db03b5d31fb972a15a6d0103a24e56d156a119c0e5a1e92a44c3c5657cf9',
|
||||
'hex')
|
||||
} : {})
|
||||
}
|
||||
|
||||
const signatures = {
|
||||
|
|
@ -46,16 +48,18 @@ module.exports = function () {
|
|||
'61fb278c3ffb0cce2bf1cf723ddfd8ef1f931c0c618c25907324605939e3f9a2' +
|
||||
'c6f4af690bda3407dc2f5770f6a0a44b954d64a332e3ee0821abf82b7f3e99c1',
|
||||
'hex'),
|
||||
'SHA3-256': Buffer.from(
|
||||
'c1ac5e11fcd50c48bf567f6e296632f5801c4eb07a8a47579b41dee971a3099b',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'ac8c97f6dd8d9e16101063077c16b23fe291a5e6d149653e9ac7002365159317' +
|
||||
'adcfad511996578b0053a5c14b75f16c', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'2162c2a8907e6b2f68599a69e81a464d8f076b5eeb555d98b4d20330034df3c7' +
|
||||
'cf35b1fa958a074ca12f0d242df39f0da3d4f1dbfb3629057798fe1f883974ee',
|
||||
'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': Buffer.from(
|
||||
'c1ac5e11fcd50c48bf567f6e296632f5801c4eb07a8a47579b41dee971a3099b',
|
||||
'hex'),
|
||||
'SHA3-384': Buffer.from(
|
||||
'ac8c97f6dd8d9e16101063077c16b23fe291a5e6d149653e9ac7002365159317' +
|
||||
'adcfad511996578b0053a5c14b75f16c', 'hex'),
|
||||
'SHA3-512': Buffer.from(
|
||||
'2162c2a8907e6b2f68599a69e81a464d8f076b5eeb555d98b4d20330034df3c7' +
|
||||
'cf35b1fa958a074ca12f0d242df39f0da3d4f1dbfb3629057798fe1f883974ee',
|
||||
'hex')
|
||||
} : {})
|
||||
}
|
||||
|
||||
const vectors = [];
|
||||
|
|
|
|||
106
test/fixtures/crypto/rsa_pkcs.js
vendored
106
test/fixtures/crypto/rsa_pkcs.js
vendored
|
|
@ -97,33 +97,35 @@ module.exports = function () {
|
|||
'7a6335c70e193235dcda48add6858626bd96311e60f7e5ea4491b6c1e6248afe12b' +
|
||||
'bbd54f8869b043a5b0444562813f0a98b300356f306e6b783a29f3bec97ca40ea20' +
|
||||
'062cab8926ec5d96aa387cc84821a6d72b8ea126e7d', 'hex'),
|
||||
'sha3-256': Buffer.from(
|
||||
'be1b476c1911a01d71710fd8a2f3158d6f7839e91443b01bed30dfdd04336d80c6b' +
|
||||
'f692c06fad254877901c10a73853e8fb202a29cddefdf16c3adcda1fc123625897d' +
|
||||
'1b81b32a9dec38957e023be221d8f31e7470ad32e761edce9170eefa37ec19bd0c3' +
|
||||
'e0b0ad2a244e98f54a08f873efb63c6fad14d7322b50eb05b6bae767305da92a90a' +
|
||||
'53cdae52b0d81e158a00003ec626e50423b7377a34a7b28cc7483b55bfde05bd431' +
|
||||
'cfa436c38c285531e0d476ee13f151c8ae832ffd51ba00f2ab06f1844e73c0fe0f6' +
|
||||
'ce17d966b1e07727af4161368aa0a74a594a6fdb782b46a9ae6098799c366fc0d71' +
|
||||
'1b2d965cf5eeeed9175b39b1d0bcefdd7df376e8ac9', 'hex'),
|
||||
'sha3-384': Buffer.from(
|
||||
'002eaf5837443f1a33dc03729a308c503888d7a8cc013be424a91bce18105f7334a' +
|
||||
'499a5eddc5f4fab2fdf80f52988d53bf8bd5e78c3ce1a43abaf3b8146c260b6ce8b' +
|
||||
'ffc9857f4b35c190cea85921c46d3ab573113744472d1afb637a0e9ab5021bcb355' +
|
||||
'7f5b52faf89fa864a7d3bf5799096c54ee53fa139e1bc13842a2a5bf0f1d85f041d' +
|
||||
'a4e0e87425b421f22f0240ad62ef77ba6f090e0d48e17c07fd1e477c7e16a3196f5' +
|
||||
'0142d0f0c5e525a10325569e5a1f50cb4577e782a643972857cc918ae5409587d9e' +
|
||||
'44e1c1e89540e87deed7dda5005ac63ba609f522fdd92c81d95c1ffa383558a10f3' +
|
||||
'064f59ca0534bfad31acbf3e2807cb7d3147c59ee4d', 'hex'),
|
||||
'sha3-512': Buffer.from(
|
||||
'561585b621c916453762285c8bb6ede3f303074ad6f2826ca15b3900e49c4d94c07' +
|
||||
'aab0b875eaa79049ba2ed97e9a87c44fff9bffe638a1bf8c4db69c627b6adbe8fca' +
|
||||
'2b38cb8b4c2810a16286bef498327b9db4b53043ed5012c7c58f037edf669baf772' +
|
||||
'9b58e413e133ebb90a5fcb6dc3936f4f87971c0e85f362189b4279bbb2d9293a427' +
|
||||
'5653068c1bc8772cebc4733a5d1df0b454d4f628c645c22bb1c8cc601fbc92dc091' +
|
||||
'db38fad4a36289ae9ed424c46643a8161a102ae511877d25f2eab7342dff6b92bf3' +
|
||||
'65951e76ee84c2bd84a595f63d7cc04d00e1589870956491e518b3ba245efc37a28' +
|
||||
'ec018d8788a92ab93a90bb314f9ab0788a0b5b50489', 'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'sha3-256': Buffer.from(
|
||||
'be1b476c1911a01d71710fd8a2f3158d6f7839e91443b01bed30dfdd04336d80c6b' +
|
||||
'f692c06fad254877901c10a73853e8fb202a29cddefdf16c3adcda1fc123625897d' +
|
||||
'1b81b32a9dec38957e023be221d8f31e7470ad32e761edce9170eefa37ec19bd0c3' +
|
||||
'e0b0ad2a244e98f54a08f873efb63c6fad14d7322b50eb05b6bae767305da92a90a' +
|
||||
'53cdae52b0d81e158a00003ec626e50423b7377a34a7b28cc7483b55bfde05bd431' +
|
||||
'cfa436c38c285531e0d476ee13f151c8ae832ffd51ba00f2ab06f1844e73c0fe0f6' +
|
||||
'ce17d966b1e07727af4161368aa0a74a594a6fdb782b46a9ae6098799c366fc0d71' +
|
||||
'1b2d965cf5eeeed9175b39b1d0bcefdd7df376e8ac9', 'hex'),
|
||||
'sha3-384': Buffer.from(
|
||||
'002eaf5837443f1a33dc03729a308c503888d7a8cc013be424a91bce18105f7334a' +
|
||||
'499a5eddc5f4fab2fdf80f52988d53bf8bd5e78c3ce1a43abaf3b8146c260b6ce8b' +
|
||||
'ffc9857f4b35c190cea85921c46d3ab573113744472d1afb637a0e9ab5021bcb355' +
|
||||
'7f5b52faf89fa864a7d3bf5799096c54ee53fa139e1bc13842a2a5bf0f1d85f041d' +
|
||||
'a4e0e87425b421f22f0240ad62ef77ba6f090e0d48e17c07fd1e477c7e16a3196f5' +
|
||||
'0142d0f0c5e525a10325569e5a1f50cb4577e782a643972857cc918ae5409587d9e' +
|
||||
'44e1c1e89540e87deed7dda5005ac63ba609f522fdd92c81d95c1ffa383558a10f3' +
|
||||
'064f59ca0534bfad31acbf3e2807cb7d3147c59ee4d', 'hex'),
|
||||
'sha3-512': Buffer.from(
|
||||
'561585b621c916453762285c8bb6ede3f303074ad6f2826ca15b3900e49c4d94c07' +
|
||||
'aab0b875eaa79049ba2ed97e9a87c44fff9bffe638a1bf8c4db69c627b6adbe8fca' +
|
||||
'2b38cb8b4c2810a16286bef498327b9db4b53043ed5012c7c58f037edf669baf772' +
|
||||
'9b58e413e133ebb90a5fcb6dc3936f4f87971c0e85f362189b4279bbb2d9293a427' +
|
||||
'5653068c1bc8772cebc4733a5d1df0b454d4f628c645c22bb1c8cc601fbc92dc091' +
|
||||
'db38fad4a36289ae9ed424c46643a8161a102ae511877d25f2eab7342dff6b92bf3' +
|
||||
'65951e76ee84c2bd84a595f63d7cc04d00e1589870956491e518b3ba245efc37a28' +
|
||||
'ec018d8788a92ab93a90bb314f9ab0788a0b5b50489', 'hex')
|
||||
} : {})
|
||||
}
|
||||
|
||||
const vectors = [
|
||||
|
|
@ -159,30 +161,32 @@ module.exports = function () {
|
|||
plaintext,
|
||||
signature: signatures['sha-512']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512']
|
||||
},
|
||||
...(!process.features.openssl_is_boringssl ? [
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSASSA-PKCS1-v1_5' },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512']
|
||||
},
|
||||
] : []),
|
||||
];
|
||||
|
||||
return vectors;
|
||||
|
|
|
|||
172
test/fixtures/crypto/rsa_pss.js
vendored
172
test/fixtures/crypto/rsa_pss.js
vendored
|
|
@ -150,42 +150,44 @@ module.exports = function() {
|
|||
'b68c04bfe452c3adc6c10066a915231b7b404727eb6201b4921eb96d9407de2b963' +
|
||||
'3879ceb71d759d9828d7b4d062f6ef100757d8328187caf57dfb859d1555345207c' +
|
||||
'1cce7905c3564c08fec78867a53d5a2cf84810e1ffa', 'hex'),
|
||||
'sha3-512, no salt': Buffer.from(
|
||||
'd2430dc87abeaa7d13f7cec8510f1a296e1c608f44b1696829c59a99e8eefe9b2ee' +
|
||||
'6ee8ad6fdc93c24fcba2f04d1da195924b6209717e1992c10ed9f4783478765fe34' +
|
||||
'3e761203bff9d326bb6dc2061b0a7554c8ce0814b29249136c20c8e30054df0c6bc' +
|
||||
'656509a82845149368896690e32ff5dd32ef01543686f01d6a69bb438b049e66a8b' +
|
||||
'df485a13edcd7dc482da4cc57d0b740aca3e56f0da247794e600afd27b22b6da13b' +
|
||||
'cc15dd2059b525f8cb6bcd07540aa843f0ae51d4b0eea27045485914b908bdd01d0' +
|
||||
'a9d42379f9f7180f4ad162ff73df5fed0200eb02ad01473975d54a77c15a9c61a3c' +
|
||||
'b5e27de5d1eecc363d45506f7123a5ddd115c5e4c9e', 'hex'),
|
||||
'sha3-256, salted': Buffer.from(
|
||||
'59cb9cce6ae838eb20d38d6af4acb9b866b0753bb7df9e441037d788512c03279e8' +
|
||||
'3d9a9cf5c0921fe1c0b6e8e895a8c0ad24a18b123f809b34ef2a3a1f05974030320' +
|
||||
'435692ef5d378cef4368c3658c098a25371dfaf1c0b6910f653a4ec15f2c08956c1' +
|
||||
'405136c2aba7f25a808fa7dbf57a4cb2978bd91af710b27ee239d955c8cac7a76ae' +
|
||||
'9085cefeda2a585a99cc948f064b5da66a9c4aa4f3f767ac905a9f314b47038e05c' +
|
||||
'3608fbb7e67a278e4f009a62c3cd3fdf43692e759d9361be1217999a76a69d4d119' +
|
||||
'f8791a90e207e46b3f6125721f56fd819292d06a3cdae2c62c9a1dc0d964a06036c' +
|
||||
'8c18661cc6c873532a3536ab51e1ce210926db299e2', 'hex'),
|
||||
'sha3-384, salted': Buffer.from(
|
||||
'8d1f9297c8169f27f0c58827dba991d862de58c1155f612ad2995d2bf862d051c4a' +
|
||||
'91b48571849b0412384382e5b77990de6a3c84010046b35c4a504f175a3479483d9' +
|
||||
'5c58f86bb96d53a27e59d6f67fddaae295ce90610f5086acc711557c2c85aac32d3' +
|
||||
'24199cff2367ae44e1d91307a98c8cbfb085a8bce6b1c20714711bc15b0eddb7881' +
|
||||
'823227d4be477ffdad8093663a6a1fc62eb39c49c2c3a821c2b202cf7904b49ca92' +
|
||||
'3c83819602bb13931577354a80f99309030044935b1cd41f0513160e661db1959fb' +
|
||||
'1ec15f087f3d288e875d54cbf070ec860b0aeecc951ea65e97cd5460750d4b7de52' +
|
||||
'22cb9e7466b1f506ecf6a81fc399dfd8334160f9084', 'hex'),
|
||||
'sha3-512, salted': Buffer.from(
|
||||
'7b6d7be418c5d37cc8070698b8b03d818ecd8b673d047d34921913f6d59c69cb496' +
|
||||
'172d6118207d9ff92b8e1246acf0e03a845d935a70f8a82c3d5d6db6a1a0e337269' +
|
||||
'4b904372413dcbaa7ac5486bc8ccaf70d7e9470be82b928a90017e272cf9761ed26' +
|
||||
'c160fe874a2675a4fb2acad72c50fbfffdd70b5a6f2919553d7ea1829934670f8de' +
|
||||
'f2a5c2816404b1aa153323c92c58400622f184b9b0463fa48d6b27091f68c287e3f' +
|
||||
'6d9ab9eb451711a5d984c547f3d56f14a686a89ddf36c47ce25092b8c6530904de9' +
|
||||
'5df7fc602fe9394315f1b1847aae304cb5ad71e2cb78acfbc997a87a9d62a6898bb' +
|
||||
'6d84a81bb89b50186265f4be171a93d837a4bf777c8', 'hex')
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'sha3-512, no salt': Buffer.from(
|
||||
'd2430dc87abeaa7d13f7cec8510f1a296e1c608f44b1696829c59a99e8eefe9b2ee' +
|
||||
'6ee8ad6fdc93c24fcba2f04d1da195924b6209717e1992c10ed9f4783478765fe34' +
|
||||
'3e761203bff9d326bb6dc2061b0a7554c8ce0814b29249136c20c8e30054df0c6bc' +
|
||||
'656509a82845149368896690e32ff5dd32ef01543686f01d6a69bb438b049e66a8b' +
|
||||
'df485a13edcd7dc482da4cc57d0b740aca3e56f0da247794e600afd27b22b6da13b' +
|
||||
'cc15dd2059b525f8cb6bcd07540aa843f0ae51d4b0eea27045485914b908bdd01d0' +
|
||||
'a9d42379f9f7180f4ad162ff73df5fed0200eb02ad01473975d54a77c15a9c61a3c' +
|
||||
'b5e27de5d1eecc363d45506f7123a5ddd115c5e4c9e', 'hex'),
|
||||
'sha3-256, salted': Buffer.from(
|
||||
'59cb9cce6ae838eb20d38d6af4acb9b866b0753bb7df9e441037d788512c03279e8' +
|
||||
'3d9a9cf5c0921fe1c0b6e8e895a8c0ad24a18b123f809b34ef2a3a1f05974030320' +
|
||||
'435692ef5d378cef4368c3658c098a25371dfaf1c0b6910f653a4ec15f2c08956c1' +
|
||||
'405136c2aba7f25a808fa7dbf57a4cb2978bd91af710b27ee239d955c8cac7a76ae' +
|
||||
'9085cefeda2a585a99cc948f064b5da66a9c4aa4f3f767ac905a9f314b47038e05c' +
|
||||
'3608fbb7e67a278e4f009a62c3cd3fdf43692e759d9361be1217999a76a69d4d119' +
|
||||
'f8791a90e207e46b3f6125721f56fd819292d06a3cdae2c62c9a1dc0d964a06036c' +
|
||||
'8c18661cc6c873532a3536ab51e1ce210926db299e2', 'hex'),
|
||||
'sha3-384, salted': Buffer.from(
|
||||
'8d1f9297c8169f27f0c58827dba991d862de58c1155f612ad2995d2bf862d051c4a' +
|
||||
'91b48571849b0412384382e5b77990de6a3c84010046b35c4a504f175a3479483d9' +
|
||||
'5c58f86bb96d53a27e59d6f67fddaae295ce90610f5086acc711557c2c85aac32d3' +
|
||||
'24199cff2367ae44e1d91307a98c8cbfb085a8bce6b1c20714711bc15b0eddb7881' +
|
||||
'823227d4be477ffdad8093663a6a1fc62eb39c49c2c3a821c2b202cf7904b49ca92' +
|
||||
'3c83819602bb13931577354a80f99309030044935b1cd41f0513160e661db1959fb' +
|
||||
'1ec15f087f3d288e875d54cbf070ec860b0aeecc951ea65e97cd5460750d4b7de52' +
|
||||
'22cb9e7466b1f506ecf6a81fc399dfd8334160f9084', 'hex'),
|
||||
'sha3-512, salted': Buffer.from(
|
||||
'7b6d7be418c5d37cc8070698b8b03d818ecd8b673d047d34921913f6d59c69cb496' +
|
||||
'172d6118207d9ff92b8e1246acf0e03a845d935a70f8a82c3d5d6db6a1a0e337269' +
|
||||
'4b904372413dcbaa7ac5486bc8ccaf70d7e9470be82b928a90017e272cf9761ed26' +
|
||||
'c160fe874a2675a4fb2acad72c50fbfffdd70b5a6f2919553d7ea1829934670f8de' +
|
||||
'f2a5c2816404b1aa153323c92c58400622f184b9b0463fa48d6b27091f68c287e3f' +
|
||||
'6d9ab9eb451711a5d984c547f3d56f14a686a89ddf36c47ce25092b8c6530904de9' +
|
||||
'5df7fc602fe9394315f1b1847aae304cb5ad71e2cb78acfbc997a87a9d62a6898bb' +
|
||||
'6d84a81bb89b50186265f4be171a93d837a4bf777c8', 'hex')
|
||||
} : {})
|
||||
}
|
||||
|
||||
const vectors = [
|
||||
|
|
@ -253,54 +255,56 @@ module.exports = function() {
|
|||
plaintext,
|
||||
signature: signatures['sha-512, salted']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 32 },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256, salted']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 48 },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384, salted']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 64 },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512, salted']
|
||||
}
|
||||
...(!process.features.openssl_is_boringssl ? [
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 0 },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512, no salt']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 32 },
|
||||
hash: 'SHA3-256',
|
||||
plaintext,
|
||||
signature: signatures['sha3-256, salted']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 48 },
|
||||
hash: 'SHA3-384',
|
||||
plaintext,
|
||||
signature: signatures['sha3-384, salted']
|
||||
},
|
||||
{
|
||||
publicKeyBuffer: spki,
|
||||
privateKeyBuffer: pkcs8,
|
||||
algorithm: { name: 'RSA-PSS', saltLength: 64 },
|
||||
hash: 'SHA3-512',
|
||||
plaintext,
|
||||
signature: signatures['sha3-512, salted']
|
||||
}
|
||||
] : []),
|
||||
];
|
||||
|
||||
return vectors;
|
||||
|
|
|
|||
|
|
@ -91,18 +91,20 @@ const kDerivations = {
|
|||
empty: '9e4b719033742101e90f1ad61e2ff3b4' +
|
||||
'256863667296d74389f1f02af2c4e6a6'
|
||||
},
|
||||
'SHA3-256': {
|
||||
normal: '386b0693d7a58c4ddf01b49bfbbd2fa87c6f911991543995170ba20ed28df599',
|
||||
empty: 'd029bc828b6c6c8bb16ce3d25f5058f19c7d2517745e11c5d65c6d242e82e47f',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '8c3b72e659bad40bcd14bdc1f7c3836059d24253795ab046a272973fd0456508',
|
||||
empty: '3211ff4c676f761494c1ca2683d2d4662fe1d770ae5c58ebf6af6acb181c7d71',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: '5588c5c70cb3dd2f95323da2e9d5f299ca99c301d920a499330c449d21c645cd',
|
||||
empty: '2c944b916c2751a71a1b5e57fcb487939c624335683995770b9f7cc7cbbb21f0',
|
||||
},
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': {
|
||||
normal: '386b0693d7a58c4ddf01b49bfbbd2fa87c6f911991543995170ba20ed28df599',
|
||||
empty: 'd029bc828b6c6c8bb16ce3d25f5058f19c7d2517745e11c5d65c6d242e82e47f',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '8c3b72e659bad40bcd14bdc1f7c3836059d24253795ab046a272973fd0456508',
|
||||
empty: '3211ff4c676f761494c1ca2683d2d4662fe1d770ae5c58ebf6af6acb181c7d71',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: '5588c5c70cb3dd2f95323da2e9d5f299ca99c301d920a499330c449d21c645cd',
|
||||
empty: '2c944b916c2751a71a1b5e57fcb487939c624335683995770b9f7cc7cbbb21f0',
|
||||
},
|
||||
} : {}),
|
||||
},
|
||||
empty: {
|
||||
'SHA-384': {
|
||||
|
|
@ -129,18 +131,20 @@ const kDerivations = {
|
|||
empty: 'c8e12774135305c9147f2cc4766e5ead' +
|
||||
'25d8f457b9a1953d52677361ced558fb'
|
||||
},
|
||||
'SHA3-256': {
|
||||
normal: '9befc557f5baf4075b5fb38c014b41b92ab7534150baf64201069e8807d0e83d',
|
||||
empty: '54d1fa1aa7cad99dab0622b772170e775c103756183bac36a228fd817a98a3f6',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '46b54c015e368677edf7ac16963bccd9d2ba8246eef0e8beb04d8d188774b91b',
|
||||
empty: '46eb0b2649bb0f605d70e4818ffc8176ee1be9782396e69fb4d0fd7cfe902b55',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: 'aa4375c82b5d7a3cac88a0423250b3882f140c253e98e8e7a0f6055b0908e4c2',
|
||||
empty: '6613003f98602ddb53ac35f5aa256c9f5279d50ee65bb08fdf2ecf65cc5df27f',
|
||||
},
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': {
|
||||
normal: '9befc557f5baf4075b5fb38c014b41b92ab7534150baf64201069e8807d0e83d',
|
||||
empty: '54d1fa1aa7cad99dab0622b772170e775c103756183bac36a228fd817a98a3f6',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '46b54c015e368677edf7ac16963bccd9d2ba8246eef0e8beb04d8d188774b91b',
|
||||
empty: '46eb0b2649bb0f605d70e4818ffc8176ee1be9782396e69fb4d0fd7cfe902b55',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: 'aa4375c82b5d7a3cac88a0423250b3882f140c253e98e8e7a0f6055b0908e4c2',
|
||||
empty: '6613003f98602ddb53ac35f5aa256c9f5279d50ee65bb08fdf2ecf65cc5df27f',
|
||||
},
|
||||
} : {}),
|
||||
}
|
||||
},
|
||||
long: {
|
||||
|
|
@ -169,18 +173,20 @@ const kDerivations = {
|
|||
empty: 'e579d1f9e7f08e6f990ffcfcce1ed201' +
|
||||
'c5e37e62cdf606f0ba4aca80427fbc44'
|
||||
},
|
||||
'SHA3-256': {
|
||||
normal: '24f38fd1905554b7cbf8395cc3976292d11ce24a0b3131da0fd4b109832d27e3',
|
||||
empty: '33d0a5151c0f52e4bb7fb67cf7a17063127624dc3e685903f49ebb07872084d1',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '15777581a1ea81ad0baac8a97d954df4142f7260d9e8351aa7f6ef6de2d04632',
|
||||
empty: 'ada4da4e28dc971633a8760b265b3019db57baf17e7bf7e13cf78b1a676f6d44',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: '621e4602b07fcba55ed6b976a8bef513b0f7c4ad0c546e0f852993051d887408',
|
||||
empty: 'f1292af65b05c86cf7146b739bc65785c707450316f3207ee54a3f596a7d0f7b',
|
||||
},
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': {
|
||||
normal: '24f38fd1905554b7cbf8395cc3976292d11ce24a0b3131da0fd4b109832d27e3',
|
||||
empty: '33d0a5151c0f52e4bb7fb67cf7a17063127624dc3e685903f49ebb07872084d1',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: '15777581a1ea81ad0baac8a97d954df4142f7260d9e8351aa7f6ef6de2d04632',
|
||||
empty: 'ada4da4e28dc971633a8760b265b3019db57baf17e7bf7e13cf78b1a676f6d44',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: '621e4602b07fcba55ed6b976a8bef513b0f7c4ad0c546e0f852993051d887408',
|
||||
empty: 'f1292af65b05c86cf7146b739bc65785c707450316f3207ee54a3f596a7d0f7b',
|
||||
},
|
||||
} : {}),
|
||||
},
|
||||
empty: {
|
||||
'SHA-384': {
|
||||
|
|
@ -207,18 +213,20 @@ const kDerivations = {
|
|||
empty: 'b4f7e7557674d501cbfbc0148ad800c0' +
|
||||
'750189fe295a2aca5e1bf4122c85edf9'
|
||||
},
|
||||
'SHA3-256': {
|
||||
normal: 'fe32459f7339dd2e8df6c6fc874ed9e81e3b7aad669edad9b71196f53ed95b12',
|
||||
empty: '04519be1eb94079c91306cc5b21946b3de6a78ad35ec83d4f4a37bafbda678d7',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: 'a474e8289cb4a0511e90b87eaf9ec29cadd74d4c1f2ee1fb8cb5f7d08f91a379',
|
||||
empty: '726c8c4b39083a7d5755604d3a67e9aa6139db00c08028ac9e69f7fb1525bf1d',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: 'c7a7f5004d1d595c6896498c169642ac24b946e13296ff53e12b534962a88675',
|
||||
empty: '7b543480b5696932551abb3100d72e05c18f57fbb63aa44fe020bef1eec3555c',
|
||||
},
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'SHA3-256': {
|
||||
normal: 'fe32459f7339dd2e8df6c6fc874ed9e81e3b7aad669edad9b71196f53ed95b12',
|
||||
empty: '04519be1eb94079c91306cc5b21946b3de6a78ad35ec83d4f4a37bafbda678d7',
|
||||
},
|
||||
'SHA3-384': {
|
||||
normal: 'a474e8289cb4a0511e90b87eaf9ec29cadd74d4c1f2ee1fb8cb5f7d08f91a379',
|
||||
empty: '726c8c4b39083a7d5755604d3a67e9aa6139db00c08028ac9e69f7fb1525bf1d',
|
||||
},
|
||||
'SHA3-512': {
|
||||
normal: 'c7a7f5004d1d595c6896498c169642ac24b946e13296ff53e12b534962a88675',
|
||||
empty: '7b543480b5696932551abb3100d72e05c18f57fbb63aa44fe020bef1eec3555c',
|
||||
},
|
||||
} : {}),
|
||||
}
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -135,14 +135,21 @@ const { KeyObject } = require('crypto');
|
|||
'201509b012c9cd2fbe7ea938f0c509b36ecb140f38bf9130e96923f55f46756d'],
|
||||
['hello', 'there', 5, 'SHA-512',
|
||||
'2e8d981741f98193e0af9c79870af0e985089341221edad9a130d297eae1984b'],
|
||||
['hello', 'there', 5, 'SHA3-256',
|
||||
'0aed29b61b3ca3978aea34a9793276574ea997b69e8d03727438199f90571649'],
|
||||
['hello', 'there', 5, 'SHA3-384',
|
||||
'7aa4a274aa19b4623c5d3091c4b06355de85ff6f25e53a83e3126cbb86ae68df'],
|
||||
['hello', 'there', 5, 'SHA3-512',
|
||||
'4d909c47a81c625f866d1f9406248e6bc3c7ea89225fbccf1f08820254c9ef56'],
|
||||
];
|
||||
|
||||
if (!process.features.openssl_is_boringssl) {
|
||||
kTests.push(
|
||||
['hello', 'there', 5, 'SHA3-256',
|
||||
'0aed29b61b3ca3978aea34a9793276574ea997b69e8d03727438199f90571649'],
|
||||
['hello', 'there', 5, 'SHA3-384',
|
||||
'7aa4a274aa19b4623c5d3091c4b06355de85ff6f25e53a83e3126cbb86ae68df'],
|
||||
['hello', 'there', 5, 'SHA3-512',
|
||||
'4d909c47a81c625f866d1f9406248e6bc3c7ea89225fbccf1f08820254c9ef56']
|
||||
);
|
||||
} else {
|
||||
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
|
||||
}
|
||||
|
||||
const tests = Promise.all(kTests.map((args) => test(...args)));
|
||||
|
||||
tests.then(common.mustCall());
|
||||
|
|
@ -158,16 +165,23 @@ const { KeyObject } = require('crypto');
|
|||
// Not long enough secret generated by ECDH
|
||||
[{ name: 'HMAC', hash: 'SHA-384' }, 'sign', 1024],
|
||||
[{ name: 'HMAC', hash: 'SHA-512' }, 'sign', 1024],
|
||||
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
|
||||
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
|
||||
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
|
||||
// This interaction is not defined for now.
|
||||
// https://github.com/WICG/webcrypto-modern-algos/issues/23
|
||||
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
|
||||
];
|
||||
|
||||
if (!process.features.openssl_is_boringssl) {
|
||||
vectors.push(
|
||||
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
|
||||
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
|
||||
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512]
|
||||
// This interaction is not defined for now.
|
||||
// https://github.com/WICG/webcrypto-modern-algos/issues/23
|
||||
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
|
||||
);
|
||||
} else {
|
||||
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
|
||||
}
|
||||
|
||||
if (hasOpenSSL(3)) {
|
||||
vectors.push(
|
||||
['KMAC128', 'sign', 128],
|
||||
|
|
@ -211,16 +225,23 @@ const { KeyObject } = require('crypto');
|
|||
[{ name: 'HMAC', hash: 'SHA-256' }, 'sign', 512],
|
||||
[{ name: 'HMAC', hash: 'SHA-384' }, 'sign', 1024],
|
||||
[{ name: 'HMAC', hash: 'SHA-512' }, 'sign', 1024],
|
||||
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
|
||||
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
|
||||
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
|
||||
// This interaction is not defined for now.
|
||||
// https://github.com/WICG/webcrypto-modern-algos/issues/23
|
||||
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
|
||||
];
|
||||
|
||||
if (!process.features.openssl_is_boringssl) {
|
||||
vectors.push(
|
||||
[{ name: 'HMAC', hash: 'SHA3-256', length: 256 }, 'sign', 256],
|
||||
[{ name: 'HMAC', hash: 'SHA3-384', length: 384 }, 'sign', 384],
|
||||
[{ name: 'HMAC', hash: 'SHA3-512', length: 512 }, 'sign', 512],
|
||||
// This interaction is not defined for now.
|
||||
// https://github.com/WICG/webcrypto-modern-algos/issues/23
|
||||
// [{ name: 'HMAC', hash: 'SHA3-256' }, 'sign', 256],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-384' }, 'sign', 384],
|
||||
// [{ name: 'HMAC', hash: 'SHA3-512' }, 'sign', 512],
|
||||
);
|
||||
} else {
|
||||
common.printSkipMessage('Skipping unsupported SHA-3 test cases');
|
||||
}
|
||||
|
||||
if (hasOpenSSL(3)) {
|
||||
vectors.push(
|
||||
['KMAC128', 'sign', 128],
|
||||
|
|
|
|||
|
|
@ -148,65 +148,67 @@ const kDigestedData = {
|
|||
'60b22aab8d36a4c2a3affdb71234f49276737c575ddf7' +
|
||||
'4d14054cbd6fdb98fd0ddcbcb46f91ad76b6ee'
|
||||
},
|
||||
'cshake128': {
|
||||
empty: '7f9c2ba4e88f827d616045507605853ed73b8093f6e' +
|
||||
'fbc88eb1a6eacfa66ef26',
|
||||
short: 'dea62d73e6b59cf725d0320d660089a4475cbbd3b85' +
|
||||
'39e36691f150d47556794',
|
||||
medium: 'b1acd53a03e76a221e52ea578e042f686a68c3d1c9' +
|
||||
'832ab18285cf4f304ca32d',
|
||||
long: '3a5bf5676955e5dec87d430e526925558971ca14c370' +
|
||||
'ee5d7cf572b94c7c63d7'
|
||||
},
|
||||
'cshake256': {
|
||||
empty: '46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b' +
|
||||
'81b82b50c27646ed5762fd75dc4ddd8c0f200cb0501' +
|
||||
'9d67b592f6fc821c49479ab48640292eacb3b7c4be',
|
||||
short: '1738113f5abb3ee5320ee18aa266c3617a7475dbd8e' +
|
||||
'd9a985994fddd6112ad999ec8e2ebdfeafb96e76f6b' +
|
||||
'b3a3adba43da60f00cd12496df5af3e28ae6d3de42',
|
||||
medium: '4146c13d86d9bc186b0b309ab6a124ee0c74ba26b8' +
|
||||
'c60dcc7b3ed505969aa8d19028c6317999a085b1e6' +
|
||||
'b6a785ce4ff632aeb27493227e44232fb7b3952141' +
|
||||
'7b',
|
||||
long: '0c42bfd1e282622fd8144aa29b072fd09fc2bae70885' +
|
||||
'd5290933492f9d17411926a613dd0611668c2ac999e8' +
|
||||
'c011aabaa9004323425fbad75b0f58ee6e777a94'
|
||||
},
|
||||
'sha3-256': {
|
||||
empty: 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a',
|
||||
short: '3059af7aa33b517084e8ad7bbc4fb208a44c28ef32b4698d103dd540e4f91aa1',
|
||||
medium: '1fa7cd1da74cd8046417508c8314e74a9a4a9d38f9f18e6cb215b8c891a0a80e',
|
||||
long: 'b2cfc61e0386cdaef5e10a2be189891f5ef52a7624bfcd8edc893acc64fec600'
|
||||
},
|
||||
'sha3-384': {
|
||||
empty: '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa9' +
|
||||
'4fc61995e71bbee983a2ac3713831264adb47fb6bd1' +
|
||||
'e058d5f004',
|
||||
short: '54b8f0e4cf4974de740098f66b3024479b01631315a' +
|
||||
'6773606c33eadc32556a6e778e08f0225ae79265aec' +
|
||||
'666cb2390b',
|
||||
medium: '437b7d8b68b250b5c1739ea4cc86db2033879dfb18' +
|
||||
'de292c9c50d9c193a4c79a08a6cae3f4e483c2795e' +
|
||||
'a5d1ef7e69d2',
|
||||
long: '3b39c4c97ad87613305d0ccc987181713e2d5e84b1f9' +
|
||||
'760011bcce0c297499005bdce8a3d2409b5ad0164f32' +
|
||||
'bb8778d0'
|
||||
},
|
||||
'sha3-512': {
|
||||
empty: 'a69f73cca23a9ac5c8b567dc185a756e97c982164fe' +
|
||||
'25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9' +
|
||||
'402c3ac558f500199d95b6d3e301758586281dcd26',
|
||||
short: '2dd2e07a62e6ad0498ba84f313c4d4024cb46001f78' +
|
||||
'f75db336b0d4d8bd2a9ec152c4ad20878735d82ba08' +
|
||||
'72ecf59608ef3ced2b2a8669427e7da31e362333d8',
|
||||
medium: 'e640a21909536640369e9b0a48931c5cb2efcbc91f' +
|
||||
'ecf247306bc96a0e4ca33307cb8e1b9af367946dd01' +
|
||||
'c243f3907508d04f1692a3161df1f898de8ee25febe',
|
||||
long: 'bd262cecf565c338032de5ba0138f0aacfe7dde83d27' +
|
||||
'2d0d37d952829ed25de1a1342d98659ef7d2fa4aca7c' +
|
||||
'e2b1aa0784d8fc1dcbf81bcec7a7431a3da36bf7'
|
||||
}
|
||||
...(!process.features.openssl_is_boringssl ? {
|
||||
'cshake128': {
|
||||
empty: '7f9c2ba4e88f827d616045507605853ed73b8093f6e' +
|
||||
'fbc88eb1a6eacfa66ef26',
|
||||
short: 'dea62d73e6b59cf725d0320d660089a4475cbbd3b85' +
|
||||
'39e36691f150d47556794',
|
||||
medium: 'b1acd53a03e76a221e52ea578e042f686a68c3d1c9' +
|
||||
'832ab18285cf4f304ca32d',
|
||||
long: '3a5bf5676955e5dec87d430e526925558971ca14c370' +
|
||||
'ee5d7cf572b94c7c63d7'
|
||||
},
|
||||
'cshake256': {
|
||||
empty: '46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b' +
|
||||
'81b82b50c27646ed5762fd75dc4ddd8c0f200cb0501' +
|
||||
'9d67b592f6fc821c49479ab48640292eacb3b7c4be',
|
||||
short: '1738113f5abb3ee5320ee18aa266c3617a7475dbd8e' +
|
||||
'd9a985994fddd6112ad999ec8e2ebdfeafb96e76f6b' +
|
||||
'b3a3adba43da60f00cd12496df5af3e28ae6d3de42',
|
||||
medium: '4146c13d86d9bc186b0b309ab6a124ee0c74ba26b8' +
|
||||
'c60dcc7b3ed505969aa8d19028c6317999a085b1e6' +
|
||||
'b6a785ce4ff632aeb27493227e44232fb7b3952141' +
|
||||
'7b',
|
||||
long: '0c42bfd1e282622fd8144aa29b072fd09fc2bae70885' +
|
||||
'd5290933492f9d17411926a613dd0611668c2ac999e8' +
|
||||
'c011aabaa9004323425fbad75b0f58ee6e777a94'
|
||||
},
|
||||
'sha3-256': {
|
||||
empty: 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a',
|
||||
short: '3059af7aa33b517084e8ad7bbc4fb208a44c28ef32b4698d103dd540e4f91aa1',
|
||||
medium: '1fa7cd1da74cd8046417508c8314e74a9a4a9d38f9f18e6cb215b8c891a0a80e',
|
||||
long: 'b2cfc61e0386cdaef5e10a2be189891f5ef52a7624bfcd8edc893acc64fec600'
|
||||
},
|
||||
'sha3-384': {
|
||||
empty: '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa9' +
|
||||
'4fc61995e71bbee983a2ac3713831264adb47fb6bd1' +
|
||||
'e058d5f004',
|
||||
short: '54b8f0e4cf4974de740098f66b3024479b01631315a' +
|
||||
'6773606c33eadc32556a6e778e08f0225ae79265aec' +
|
||||
'666cb2390b',
|
||||
medium: '437b7d8b68b250b5c1739ea4cc86db2033879dfb18' +
|
||||
'de292c9c50d9c193a4c79a08a6cae3f4e483c2795e' +
|
||||
'a5d1ef7e69d2',
|
||||
long: '3b39c4c97ad87613305d0ccc987181713e2d5e84b1f9' +
|
||||
'760011bcce0c297499005bdce8a3d2409b5ad0164f32' +
|
||||
'bb8778d0'
|
||||
},
|
||||
'sha3-512': {
|
||||
empty: 'a69f73cca23a9ac5c8b567dc185a756e97c982164fe' +
|
||||
'25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9' +
|
||||
'402c3ac558f500199d95b6d3e301758586281dcd26',
|
||||
short: '2dd2e07a62e6ad0498ba84f313c4d4024cb46001f78' +
|
||||
'f75db336b0d4d8bd2a9ec152c4ad20878735d82ba08' +
|
||||
'72ecf59608ef3ced2b2a8669427e7da31e362333d8',
|
||||
medium: 'e640a21909536640369e9b0a48931c5cb2efcbc91f' +
|
||||
'ecf247306bc96a0e4ca33307cb8e1b9af367946dd01' +
|
||||
'c243f3907508d04f1692a3161df1f898de8ee25febe',
|
||||
long: 'bd262cecf565c338032de5ba0138f0aacfe7dde83d27' +
|
||||
'2d0d37d952829ed25de1a1342d98659ef7d2fa4aca7c' +
|
||||
'e2b1aa0784d8fc1dcbf81bcec7a7431a3da36bf7'
|
||||
}
|
||||
} : {}),
|
||||
};
|
||||
|
||||
async function testDigest(size, alg) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user