doc: doc-only deprecate OpenSSL engine-based APIs · nodejs/node@df47627 · GitHub
Skip to content

Commit df47627

Browse files
richardlautargos
authored andcommitted
doc: doc-only deprecate OpenSSL engine-based APIs
OpenSSL 3 deprecated support for custom engines with a recommendation to switch to its new provider model. PR-URL: #53329 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent 515dd24 commit df47627

4 files changed

Lines changed: 42 additions & 5 deletions

File tree

doc/api/crypto.md

Lines changed: 5 additions & 0 deletions

doc/api/deprecations.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3638,6 +3638,23 @@ For ciphers in GCM mode, the [`decipher.setAuthTag()`][] function accepts
36383638
authentication tags of any valid length (see [DEP0090](#DEP0090)). This behavior
36393639
is deprecated to better align with recommendations per [NIST SP 800-38D][].
36403640

3641+
### DEP0183: OpenSSL engine-based APIs
3642+
3643+
<!-- YAML
3644+
changes:
3645+
- version: REPLACEME
3646+
pr-url: https://github.com/nodejs/node/pull/53329
3647+
description: Documentation-only deprecation.
3648+
-->
3649+
3650+
Type: Documentation-only
3651+
3652+
OpenSSL 3 has deprecated support for custom engines with a recommendation to
3653+
switch to its new provider model. The `clientCertEngine` option for
3654+
`https.request()`, [`tls.createSecureContext()`][], and [`tls.createServer()`][];
3655+
the `privateKeyEngine` and `privateKeyIdentifier` for [`tls.createSecureContext()`][];
3656+
and [`crypto.setEngine()`][] all depend on this functionality from OpenSSL.
3657+
36413658
[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
36423659
[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3
36433660
[RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4
@@ -3680,6 +3697,7 @@ is deprecated to better align with recommendations per [NIST SP 800-38D][].
36803697
[`crypto.pbkdf2()`]: crypto.md#cryptopbkdf2password-salt-iterations-keylen-digest-callback
36813698
[`crypto.randomBytes()`]: crypto.md#cryptorandombytessize-callback
36823699
[`crypto.scrypt()`]: crypto.md#cryptoscryptpassword-salt-keylen-options-callback
3700+
[`crypto.setEngine()`]: crypto.md#cryptosetengineengine-flags
36833701
[`decipher.final()`]: crypto.md#decipherfinaloutputencoding
36843702
[`decipher.setAuthTag()`]: crypto.md#deciphersetauthtagbuffer-encoding
36853703
[`diagnostics_channel.subscribe(name, onMessage)`]: diagnostics_channel.md#diagnostics_channelsubscribename-onmessage
@@ -3758,6 +3776,7 @@ is deprecated to better align with recommendations per [NIST SP 800-38D][].
37583776
[`tls.TLSSocket`]: tls.md#class-tlstlssocket
37593777
[`tls.checkServerIdentity()`]: tls.md#tlscheckserveridentityhostname-cert
37603778
[`tls.createSecureContext()`]: tls.md#tlscreatesecurecontextoptions
3779+
[`tls.createServer()`]: tls.md#tlscreateserveroptions-secureconnectionlistener
37613780
[`url.format()`]: url.md#urlformaturlobject
37623781
[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
37633782
[`url.resolve()`]: url.md#urlresolvefrom-to

doc/api/https.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,10 @@ a `timeout` of 5 seconds.
342342
<!-- YAML
343343
added: v0.3.6
344344
changes:
345+
- version: REPLACEME
346+
pr-url: https://github.com/nodejs/node/pull/53329
347+
description: The `clientCertEngine` option depends on custom engine
348+
support in OpenSSL which is deprecated in OpenSSL 3.
345349
- version:
346350
- v16.7.0
347351
- v14.18.0
@@ -377,7 +381,7 @@ changes:
377381
Makes a request to a secure web server.
378382

379383
The following additional `options` from [`tls.connect()`][] are also accepted:
380-
`ca`, `cert`, `ciphers`, `clientCertEngine`, `crl`, `dhparam`, `ecdhCurve`,
384+
`ca`, `cert`, `ciphers`, `clientCertEngine` (deprecated), `crl`, `dhparam`, `ecdhCurve`,
381385
`honorCipherOrder`, `key`, `passphrase`, `pfx`, `rejectUnauthorized`,
382386
`secureOptions`, `secureProtocol`, `servername`, `sessionIdContext`,
383387
`highWaterMark`.

doc/api/tls.md

Lines changed: 13 additions & 4 deletions

0 commit comments

Comments
 (0)