doc: clarify OpenSSL FIPS configuration · nodejs/node@9a256b0 · GitHub
Skip to content

Commit 9a256b0

Browse files
panvaaduh95
authored andcommitted
doc: clarify OpenSSL FIPS configuration
Distinguish OpenSSL 3 provider setup from FIPS/property-query state, document configuration precedence and provider limitations, and retain the OpenSSL 1.1 and runtime control guidance. Regenerate the CLI manpage. Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #64982 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Aviv Keller <me@aviv.sh>
1 parent 28f662b commit 9a256b0

4 files changed

Lines changed: 164 additions & 87 deletions

File tree

BUILDING.md

Lines changed: 7 additions & 5 deletions

doc/api/cli.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -881,8 +881,9 @@ priority than `--dns-result-order`.
881881
added: v6.0.0
882882
-->
883883

884-
Enable FIPS-compliant crypto at startup. (Requires Node.js to be built
885-
against FIPS-compatible OpenSSL.)
884+
Enable [FIPS mode][] at startup. With OpenSSL 3, a configured provider named
885+
`fips` must be available and initialize successfully. With OpenSSL 1.1.1,
886+
Node.js must be built against a FIPS-capable OpenSSL.
886887

887888
### `--enable-source-maps`
888889

@@ -1561,8 +1562,8 @@ Disable loading native addons that are not [context-aware][].
15611562
added: v6.0.0
15621563
-->
15631564

1564-
Force FIPS-compliant crypto on startup. (Cannot be disabled from script code.)
1565-
(Same requirements as `--enable-fips`.)
1565+
Enable [FIPS mode][] at startup and prevent it from being disabled from script
1566+
code. The same OpenSSL requirements as [`--enable-fips`][] apply.
15661567

15671568
### `--force-node-api-uncaught-exceptions-policy`
15681569

@@ -2257,9 +2258,11 @@ usually only useful for developers debugging Node.js itself.
22572258
added: v6.9.0
22582259
-->
22592260

2260-
Load an OpenSSL configuration file on startup. Among other uses, this can be
2261-
used to enable FIPS-compliant crypto if Node.js is built
2262-
against FIPS-enabled OpenSSL.
2261+
Load an OpenSSL configuration file on startup. The file can activate an
2262+
OpenSSL 3 FIPS provider or configure a FIPS-capable OpenSSL 1.1.1 build. See
2263+
[FIPS mode][].
2264+
2265+
This option takes precedence over the `OPENSSL_CONF` environment variable.
22632266

22642267
### `--openssl-legacy-provider`
22652268

@@ -4234,9 +4237,8 @@ environment variable is arbitrary.
42344237
added: v6.11.0
42354238
-->
42364239

4237-
Load an OpenSSL configuration file on startup. Among other uses, this can be
4238-
used to enable FIPS-compliant crypto if Node.js is built with
4239-
`./configure --openssl-fips`.
4240+
Load an OpenSSL configuration file on startup. The file can be used as part of
4241+
a [FIPS mode][] configuration.
42404242

42414243
If the [`--openssl-config`][] command-line option is used, the environment
42424244
variable is ignored.
@@ -4443,6 +4445,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12
44434445
[ECMAScript module]: esm.md#modules-ecmascript-modules
44444446
[EventSource Web API]: https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events
44454447
[ExperimentalWarning: `vm.measureMemory` is an experimental feature]: vm.md#vmmeasurememoryoptions
4448+
[FIPS mode]: crypto.md#fips-mode
44464449
[File System Permissions]: permissions.md#file-system-permissions
44474450
[Loading ECMAScript modules using `require()`]: modules.md#loading-ecmascript-modules-using-require
44484451
[Module resolution and loading]: packages.md#module-resolution-and-loading
@@ -4472,6 +4475,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12
44724475
[`--cpu-prof-dir`]: #--cpu-prof-dir
44734476
[`--diagnostic-dir`]: #--diagnostic-dirdirectory
44744477
[`--disable-sigusr1`]: #--disable-sigusr1
4478+
[`--enable-fips`]: #--enable-fips
44754479
[`--env-file-if-exists`]: #--env-file-if-existsfile
44764480
[`--env-file`]: #--env-filefile
44774481
[`--experimental-sea-config`]: single-executable-applications.md#1-generating-single-executable-preparation-blobs

doc/api/crypto.md

Lines changed: 132 additions & 62 deletions

0 commit comments

Comments
 (0)