Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Nießen <tniessen@tnie.de>2022-09-13 01:29:27 +0300
committerGitHub <noreply@github.com>2022-09-13 01:29:27 +0300
commit696fd4b14fc34cc2d01497a3abd9bb441b89be50 (patch)
tree159b12514e773fcf952846adbaf1613793c692bc
parentaac5b47a05fa235c71e0addf4824acb65938ba7e (diff)
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: https://github.com/nodejs/node/issues/44539 PR-URL: https://github.com/nodejs/node/pull/44588 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
-rw-r--r--doc/api/crypto.md11
-rw-r--r--doc/api/deprecations.md19
-rw-r--r--doc/api_assets/style.css3
3 files changed, 29 insertions, 4 deletions
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index 37ced4e9981..b6a25b10d50 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -1185,15 +1185,20 @@ const dh = createDiffieHellmanGroup('modp16');
The following groups are supported:
-* `'modp1'` (768 bits, [RFC 2409][] Section 6.1)
-* `'modp2'` (1024 bits, [RFC 2409][] Section 6.2)
-* `'modp5'` (1536 bits, [RFC 3526][] Section 2)
* `'modp14'` (2048 bits, [RFC 3526][] Section 3)
* `'modp15'` (3072 bits, [RFC 3526][] Section 4)
* `'modp16'` (4096 bits, [RFC 3526][] Section 5)
* `'modp17'` (6144 bits, [RFC 3526][] Section 6)
* `'modp18'` (8192 bits, [RFC 3526][] Section 7)
+The following groups are still supported but deprecated (see [Caveats][]):
+
+* `'modp1'` (768 bits, [RFC 2409][] Section 6.1) <span class="deprecated-inline"></span>
+* `'modp2'` (1024 bits, [RFC 2409][] Section 6.2) <span class="deprecated-inline"></span>
+* `'modp5'` (1536 bits, [RFC 3526][] Section 2) <span class="deprecated-inline"></span>
+
+These deprecated groups might be removed in future versions of Node.js.
+
## Class: `ECDH`
<!-- YAML
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index fd2d7a8c331..1d29a76306e 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -3220,9 +3220,28 @@ Package imports and exports targets mapping into paths including a double slash
error in a future release. This same deprecation also applies to pattern matches
starting or ending in a slash.
+### DEP0167: Weak `DiffieHellmanGroup` instances (`modp1`, `modp2`, `modp5`)
+
+<!-- YAML
+changes:
+ - version: REPLACEME
+ pr-url: https://github.com/nodejs/node/pull/44588
+ description: Documentation-only deprecation.
+-->
+
+Type: Documentation-only
+
+The well-known MODP groups `modp1`, `modp2`, and `modp5` are deprecated because
+they are not secure against practical attacks. See [RFC 8247 Section 2.4][] for
+details.
+
+These groups might be removed in future versions of Node.js. Applications that
+rely on these groups should evaluate using stronger MODP groups instead.
+
[Legacy URL API]: url.md#legacy-url-api
[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3
+[RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4
[WHATWG URL API]: url.md#the-whatwg-url-api
[`"exports"` or `"main"` entry]: packages.md#main-entry-point-export
[`--pending-deprecation`]: cli.md#--pending-deprecation
diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css
index acab9bfa048..4bff9e3299f 100644
--- a/doc/api_assets/style.css
+++ b/doc/api_assets/style.css
@@ -598,7 +598,8 @@ hr {
padding-left: 5rem;
}
-#toc .stability_0::after {
+#toc .stability_0::after,
+.deprecated-inline::after {
background-color: var(--red2);
color: var(--white);
content: "deprecated";