Skip to content

Commit af450ea

Browse files
committed
doc: deprecate modp1, modp2, and modp5 groups
These MODP groups should not be used by new applications, and existing applications should attempt to migrate to stronger groups (or different key exchange mechanisms). Some applications still rely on these particular groups, so Node.js will likely maintain support, directly or indirectly, for the foreseeable future. Refs: #44539
1 parent 8bf7754 commit af450ea

File tree

3 files changed

+29
-4
lines changed

3 files changed

+29
-4
lines changed

doc/api/crypto.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -1185,15 +1185,20 @@ const dh = createDiffieHellmanGroup('modp16');
11851185

11861186
The following groups are supported:
11871187

1188-
* `'modp1'` (768 bits, [RFC 2409][] Section 6.1)
1189-
* `'modp2'` (1024 bits, [RFC 2409][] Section 6.2)
1190-
* `'modp5'` (1536 bits, [RFC 3526][] Section 2)
11911188
* `'modp14'` (2048 bits, [RFC 3526][] Section 3)
11921189
* `'modp15'` (3072 bits, [RFC 3526][] Section 4)
11931190
* `'modp16'` (4096 bits, [RFC 3526][] Section 5)
11941191
* `'modp17'` (6144 bits, [RFC 3526][] Section 6)
11951192
* `'modp18'` (8192 bits, [RFC 3526][] Section 7)
11961193

1194+
The following groups are still supported but deprecated (see [Caveats][]):
1195+
1196+
* `'modp1'` (768 bits, [RFC 2409][] Section 6.1) <span class="deprecated-inline"></span>
1197+
* `'modp2'` (1024 bits, [RFC 2409][] Section 6.2) <span class="deprecated-inline"></span>
1198+
* `'modp5'` (1536 bits, [RFC 3526][] Section 2) <span class="deprecated-inline"></span>
1199+
1200+
These deprecated groups might be removed in future versions of Node.js.
1201+
11971202
## Class: `ECDH`
11981203

11991204
<!-- YAML

doc/api/deprecations.md

+19
Original file line numberDiff line numberDiff line change
@@ -3197,9 +3197,28 @@ Type: Documentation-only
31973197

31983198
The [`--trace-atomics-wait`][] flag is deprecated.
31993199

3200+
### DEP0166: Weak `DiffieHellmanGroup` instances (`modp1`, `modp2`, `modp5`)
3201+
3202+
<!-- YAML
3203+
changes:
3204+
- version: REPLACEME
3205+
pr-url: https://github.com/nodejs/node/pull/44588
3206+
description: Documentation-only deprecation.
3207+
-->
3208+
3209+
Type: Documentation-only
3210+
3211+
The well-known MODP groups `modp1`, `modp2`, and `modp5` are deprecated because
3212+
they are not considered secure against practical attacks. See
3213+
[RFC 8247 Section 2.4][] for details.
3214+
3215+
These groups might be removed in future versions of Node.js. Applications that
3216+
rely on these groups should evaluate using stronger MODP groups instead.
3217+
32003218
[Legacy URL API]: url.md#legacy-url-api
32013219
[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
32023220
[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3
3221+
[RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4
32033222
[WHATWG URL API]: url.md#the-whatwg-url-api
32043223
[`"exports"` or `"main"` entry]: packages.md#main-entry-point-export
32053224
[`--pending-deprecation`]: cli.md#--pending-deprecation

doc/api_assets/style.css

+2-1
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,8 @@ hr {
598598
padding-left: 5rem;
599599
}
600600

601-
#toc .stability_0::after {
601+
#toc .stability_0::after,
602+
.deprecated-inline::after {
602603
background-color: var(--red2);
603604
color: var(--white);
604605
content: "deprecated";

0 commit comments

Comments
 (0)