@@ -1916,6 +1916,9 @@ This can be called many times with new data as it is streamed.
19161916<!-- YAML
19171917added: v11.6.0
19181918changes:
1919+ - version: REPLACEME
1920+ pr-url: https://github.com/nodejs/node/pull/59259
1921+ description: Add support for ML-DSA keys.
19191922 - version:
19201923 - v14.5.0
19211924 - v12.19.0
@@ -2021,6 +2024,9 @@ Other key details might be exposed via this API using additional attributes.
20212024<!-- YAML
20222025added: v11.6.0
20232026changes:
2027+ - version: REPLACEME
2028+ pr-url: https://github.com/nodejs/node/pull/59259
2029+ description: Add support for ML-DSA keys.
20242030 - version:
20252031 - v13.9.0
20262032 - v12.17.0
@@ -2055,6 +2061,9 @@ types are:
20552061* ` 'ed25519' ` (OID 1.3.101.112)
20562062* ` 'ed448' ` (OID 1.3.101.113)
20572063* ` '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)
20582067
20592068This property is ` undefined ` for unrecognized ` KeyObject ` types and symmetric
20602069keys.
@@ -3403,6 +3412,9 @@ input.on('readable', () => {
34033412<!-- YAML
34043413added: v11.6.0
34053414changes:
3415+ - version: REPLACEME
3416+ pr-url: https://github.com/nodejs/node/pull/59259
3417+ description: Add support for ML-DSA keys.
34063418 - version: v15.12.0
34073419 pr-url: https://github.com/nodejs/node/pull/37254
34083420 description: The key can also be a JWK object.
@@ -3439,6 +3451,9 @@ of the passphrase is limited to 1024 bytes.
34393451<!-- YAML
34403452added: v11.6.0
34413453changes:
3454+ - version: REPLACEME
3455+ pr-url: https://github.com/nodejs/node/pull/59259
3456+ description: Add support for ML-DSA keys.
34423457 - version: v15.12.0
34433458 pr-url: https://github.com/nodejs/node/pull/37254
34443459 description: The key can also be a JWK object.
@@ -3648,6 +3663,9 @@ underlying hash function. See [`crypto.createHmac()`][] for more information.
36483663<!-- YAML
36493664added: v10.12.0
36503665changes:
3666+ - version: REPLACEME
3667+ pr-url: https://github.com/nodejs/node/pull/59259
3668+ description: Add support for ML-DSA key pairs.
36513669 - version: v18.0.0
36523670 pr-url: https://github.com/nodejs/node/pull/41678
36533671 description: Passing an invalid callback to the `callback` argument
@@ -3678,7 +3696,8 @@ changes:
36783696-->
36793697
36803698* ` 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 ] .
36823701* ` options ` {Object}
36833702 * ` modulusLength ` {number} Key size in bits (RSA, DSA).
36843703 * ` publicExponent ` {number} Public exponent (RSA). ** Default:** ` 0x10001 ` .
@@ -3767,6 +3786,9 @@ a `Promise` for an `Object` with `publicKey` and `privateKey` properties.
37673786<!-- YAML
37683787added: v10.12.0
37693788changes:
3789+ - version: REPLACEME
3790+ pr-url: https://github.com/nodejs/node/pull/59259
3791+ description: Add support for ML-DSA key pairs.
37703792 - version: v16.10.0
37713793 pr-url: https://github.com/nodejs/node/pull/39927
37723794 description: Add ability to define `RSASSA-PSS-params` sequence parameters
@@ -3792,7 +3814,8 @@ changes:
37923814-->
37933815
37943816* ` 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 ] .
37963819* ` options ` {Object}
37973820 * ` modulusLength ` {number} Key size in bits (RSA, DSA).
37983821 * ` publicExponent ` {number} Public exponent (RSA). ** Default:** ` 0x10001 ` .
@@ -3816,7 +3839,7 @@ changes:
38163839 * ` privateKey ` {string | Buffer | KeyObject}
38173840
38183841Generates 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.
38203843
38213844If a ` publicKeyEncoding ` or ` privateKeyEncoding ` was specified, this function
38223845behaves as if [ ` keyObject.export() ` ] [ ] had been called on its result. Otherwise,
@@ -5416,6 +5439,9 @@ Throws an error if FIPS mode is not available.
54165439<!-- YAML
54175440added: v12.0.0
54185441changes:
5442+ - version: REPLACEME
5443+ pr-url: https://github.com/nodejs/node/pull/59259
5444+ description: Add support for ML-DSA signing.
54195445 - version: v18.0.0
54205446 pr-url: https://github.com/nodejs/node/pull/41678
54215447 description: Passing an invalid callback to the `callback` argument
@@ -5445,7 +5471,10 @@ changes:
54455471
54465472Calculates and returns the signature for ` data ` using the given private key and
54475473algorithm. 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.
54495478
54505479If ` key ` is not a [ ` KeyObject ` ] [ ] , this function behaves as if ` key ` had been
54515480passed to [ ` crypto.createPrivateKey() ` ] [ ] . If it is an object, the following
@@ -5526,6 +5555,9 @@ not introduce timing vulnerabilities.
55265555<!-- YAML
55275556added: v12.0.0
55285557changes:
5558+ - version: REPLACEME
5559+ pr-url: https://github.com/nodejs/node/pull/59259
5560+ description: Add support for ML-DSA signature verification.
55295561 - version: v18.0.0
55305562 pr-url: https://github.com/nodejs/node/pull/41678
55315563 description: Passing an invalid callback to the `callback` argument
@@ -5561,7 +5593,10 @@ changes:
55615593
55625594Verifies the given signature for ` data ` using the given key and algorithm. If
55635595` 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.
55655600
55665601If ` key ` is not a [ ` KeyObject ` ] [ ] , this function behaves as if ` key ` had been
55675602passed to [ ` crypto.createPublicKey() ` ] [ ] . If it is an object, the following
@@ -6150,6 +6185,8 @@ See the [list of SSL OP Flags][] for details.
61506185 </tr >
61516186</table >
61526187
6188+ [ ^ openssl35 ] : Requires OpenSSL >= 3.5
6189+
61536190[ AEAD algorithms ] : https://en.wikipedia.org/wiki/Authenticated_encryption
61546191[ CCM mode ] : #ccm-mode
61556192[ CVE-2021-44532 ] : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532
0 commit comments