@@ -1916,6 +1916,9 @@ This can be called many times with new data as it is streamed.
1916
1916
<!-- YAML
1917
1917
added: v11.6.0
1918
1918
changes:
1919
+ - version: REPLACEME
1920
+ pr-url: https://github.com/nodejs/node/pull/59259
1921
+ description: Add support for ML-DSA keys.
1919
1922
- version:
1920
1923
- v14.5.0
1921
1924
- v12.19.0
@@ -2021,6 +2024,9 @@ Other key details might be exposed via this API using additional attributes.
2021
2024
<!-- YAML
2022
2025
added: v11.6.0
2023
2026
changes:
2027
+ - version: REPLACEME
2028
+ pr-url: https://github.com/nodejs/node/pull/59259
2029
+ description: Add support for ML-DSA keys.
2024
2030
- version:
2025
2031
- v13.9.0
2026
2032
- v12.17.0
@@ -2055,6 +2061,9 @@ types are:
2055
2061
* ` 'ed25519' ` (OID 1.3.101.112)
2056
2062
* ` 'ed448' ` (OID 1.3.101.113)
2057
2063
* ` 'dh' ` (OID 1.2.840.113549.1.3.1)
2064
+ * ` 'ml-dsa-44' ` [ ^ openssl35 ] (OID 2.16.840.1.101.3.4.3.17)
2065
+ * ` 'ml-dsa-65' ` [ ^ openssl35 ] (OID 2.16.840.1.101.3.4.3.18)
2066
+ * ` 'ml-dsa-87' ` [ ^ openssl35 ] (OID 2.16.840.1.101.3.4.3.19)
2058
2067
2059
2068
This property is ` undefined ` for unrecognized ` KeyObject ` types and symmetric
2060
2069
keys.
@@ -3403,6 +3412,9 @@ input.on('readable', () => {
3403
3412
<!-- YAML
3404
3413
added: v11.6.0
3405
3414
changes:
3415
+ - version: REPLACEME
3416
+ pr-url: https://github.com/nodejs/node/pull/59259
3417
+ description: Add support for ML-DSA keys.
3406
3418
- version: v15.12.0
3407
3419
pr-url: https://github.com/nodejs/node/pull/37254
3408
3420
description: The key can also be a JWK object.
@@ -3439,6 +3451,9 @@ of the passphrase is limited to 1024 bytes.
3439
3451
<!-- YAML
3440
3452
added: v11.6.0
3441
3453
changes:
3454
+ - version: REPLACEME
3455
+ pr-url: https://github.com/nodejs/node/pull/59259
3456
+ description: Add support for ML-DSA keys.
3442
3457
- version: v15.12.0
3443
3458
pr-url: https://github.com/nodejs/node/pull/37254
3444
3459
description: The key can also be a JWK object.
@@ -3648,6 +3663,9 @@ underlying hash function. See [`crypto.createHmac()`][] for more information.
3648
3663
<!-- YAML
3649
3664
added: v10.12.0
3650
3665
changes:
3666
+ - version: REPLACEME
3667
+ pr-url: https://github.com/nodejs/node/pull/59259
3668
+ description: Add support for ML-DSA key pairs.
3651
3669
- version: v18.0.0
3652
3670
pr-url: https://github.com/nodejs/node/pull/41678
3653
3671
description: Passing an invalid callback to the `callback` argument
@@ -3678,7 +3696,8 @@ changes:
3678
3696
-->
3679
3697
3680
3698
* ` type ` {string} Must be ` 'rsa' ` , ` 'rsa-pss' ` , ` 'dsa' ` , ` 'ec' ` , ` 'ed25519' ` ,
3681
- ` 'ed448' ` , ` 'x25519' ` , ` 'x448' ` , or ` 'dh' ` .
3699
+ ` 'ed448' ` , ` 'x25519' ` , ` 'x448' ` , ` 'dh' ` , ` 'ml-dsa-44' ` [ ^ openssl35 ] ,
3700
+ ` 'ml-dsa-65' ` [ ^ openssl35 ] , or ` 'ml-dsa-87' ` [ ^ openssl35 ] .
3682
3701
* ` options ` {Object}
3683
3702
* ` modulusLength ` {number} Key size in bits (RSA, DSA).
3684
3703
* ` publicExponent ` {number} Public exponent (RSA). ** Default:** ` 0x10001 ` .
@@ -3767,6 +3786,9 @@ a `Promise` for an `Object` with `publicKey` and `privateKey` properties.
3767
3786
<!-- YAML
3768
3787
added: v10.12.0
3769
3788
changes:
3789
+ - version: REPLACEME
3790
+ pr-url: https://github.com/nodejs/node/pull/59259
3791
+ description: Add support for ML-DSA key pairs.
3770
3792
- version: v16.10.0
3771
3793
pr-url: https://github.com/nodejs/node/pull/39927
3772
3794
description: Add ability to define `RSASSA-PSS-params` sequence parameters
@@ -3792,7 +3814,8 @@ changes:
3792
3814
-->
3793
3815
3794
3816
* ` type ` {string} Must be ` 'rsa' ` , ` 'rsa-pss' ` , ` 'dsa' ` , ` 'ec' ` , ` 'ed25519' ` ,
3795
- ` 'ed448' ` , ` 'x25519' ` , ` 'x448' ` , or ` 'dh' ` .
3817
+ ` 'ed448' ` , ` 'x25519' ` , ` 'x448' ` , ` 'dh' ` , ` 'ml-dsa-44' ` [ ^ openssl35 ] ,
3818
+ ` 'ml-dsa-65' ` [ ^ openssl35 ] , or ` 'ml-dsa-87' ` [ ^ openssl35 ] .
3796
3819
* ` options ` {Object}
3797
3820
* ` modulusLength ` {number} Key size in bits (RSA, DSA).
3798
3821
* ` publicExponent ` {number} Public exponent (RSA). ** Default:** ` 0x10001 ` .
@@ -3816,7 +3839,7 @@ changes:
3816
3839
* ` privateKey ` {string | Buffer | KeyObject}
3817
3840
3818
3841
Generates a new asymmetric key pair of the given ` type ` . RSA, RSA-PSS, DSA, EC,
3819
- Ed25519, Ed448, X25519, X448, and DH are currently supported.
3842
+ Ed25519, Ed448, X25519, X448, DH, and ML-DSA [ ^ openssl35 ] are currently supported.
3820
3843
3821
3844
If a ` publicKeyEncoding ` or ` privateKeyEncoding ` was specified, this function
3822
3845
behaves as if [ ` keyObject.export() ` ] [ ] had been called on its result. Otherwise,
@@ -5416,6 +5439,9 @@ Throws an error if FIPS mode is not available.
5416
5439
<!-- YAML
5417
5440
added: v12.0.0
5418
5441
changes:
5442
+ - version: REPLACEME
5443
+ pr-url: https://github.com/nodejs/node/pull/59259
5444
+ description: Add support for ML-DSA signing.
5419
5445
- version: v18.0.0
5420
5446
pr-url: https://github.com/nodejs/node/pull/41678
5421
5447
description: Passing an invalid callback to the `callback` argument
@@ -5445,7 +5471,10 @@ changes:
5445
5471
5446
5472
Calculates and returns the signature for ` data ` using the given private key and
5447
5473
algorithm. If ` algorithm ` is ` null ` or ` undefined ` , then the algorithm is
5448
- dependent upon the key type (especially Ed25519 and Ed448).
5474
+ dependent upon the key type.
5475
+
5476
+ ` algorithm ` is required to be ` null ` or ` undefined ` for Ed25519, Ed448, and
5477
+ ML-DSA.
5449
5478
5450
5479
If ` key ` is not a [ ` KeyObject ` ] [ ] , this function behaves as if ` key ` had been
5451
5480
passed to [ ` crypto.createPrivateKey() ` ] [ ] . If it is an object, the following
@@ -5526,6 +5555,9 @@ not introduce timing vulnerabilities.
5526
5555
<!-- YAML
5527
5556
added: v12.0.0
5528
5557
changes:
5558
+ - version: REPLACEME
5559
+ pr-url: https://github.com/nodejs/node/pull/59259
5560
+ description: Add support for ML-DSA signature verification.
5529
5561
- version: v18.0.0
5530
5562
pr-url: https://github.com/nodejs/node/pull/41678
5531
5563
description: Passing an invalid callback to the `callback` argument
@@ -5561,7 +5593,10 @@ changes:
5561
5593
5562
5594
Verifies the given signature for ` data ` using the given key and algorithm. If
5563
5595
` algorithm ` is ` null ` or ` undefined ` , then the algorithm is dependent upon the
5564
- key type (especially Ed25519 and Ed448).
5596
+ key type.
5597
+
5598
+ ` algorithm ` is required to be ` null ` or ` undefined ` for Ed25519, Ed448, and
5599
+ ML-DSA.
5565
5600
5566
5601
If ` key ` is not a [ ` KeyObject ` ] [ ] , this function behaves as if ` key ` had been
5567
5602
passed to [ ` crypto.createPublicKey() ` ] [ ] . If it is an object, the following
@@ -6150,6 +6185,8 @@ See the [list of SSL OP Flags][] for details.
6150
6185
</tr >
6151
6186
</table >
6152
6187
6188
+ [ ^ openssl35 ] : Requires OpenSSL >= 3.5
6189
+
6153
6190
[ AEAD algorithms ] : https://en.wikipedia.org/wiki/Authenticated_encryption
6154
6191
[ CCM mode ] : #ccm-mode
6155
6192
[ CVE-2021-44532 ] : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532
0 commit comments