@@ -2472,6 +2472,9 @@ added: v15.6.0
24722472<!-- YAML
24732473added: v15.6.0
24742474changes:
2475+ - version: REPLACEME
2476+ pr-url: https://github.com/nodejs/node/pull/41569
2477+ description: The subject option can now be set to `'default'`.
24752478 - version: v16.14.1
24762479 pr-url: https://github.com/nodejs/node/pull/41599
24772480 description: The `wildcards`, `partialWildcards`, `multiLabelWildcards`, and
@@ -2481,21 +2484,42 @@ changes:
24812484
24822485* ` email ` {string}
24832486* ` options ` {Object}
2484- * ` subject ` {string} ` 'always' ` or ` 'never' ` . ** Default:** ` 'always' ` .
2487+ * ` subject ` {string} ` 'default' ` , ` 'always' ` , or ` 'never' ` .
2488+ ** Default:** ` 'always' ` .
2489+ * ` wildcards ` {boolean} ** Default:** ` true ` .
2490+ * ` partialWildcards ` {boolean} ** Default:** ` true ` .
2491+ * ` multiLabelWildcards ` {boolean} ** Default:** ` false ` .
2492+ * ` singleLabelSubdomains ` {boolean} ** Default:** ` false ` .
24852493* Returns: {string|undefined} Returns ` email ` if the certificate matches,
24862494 ` undefined ` if it does not.
24872495
24882496Checks whether the certificate matches the given email address.
24892497
2498+ If the ` 'subject' ` option is set to ` 'always' ` and if the subject alternative
2499+ name extension either does not exist or does not contain a matching email
2500+ address, the certificate subject is considered.
2501+
2502+ If the ` 'subject' ` option is set to ` 'default ` ', the certificate subject is only
2503+ considered if the subject alternative name extension either does not exist or
2504+ does not contain any email addresses.
2505+
2506+ If the ` 'subject' ` option is set to ` 'never' ` , the certificate subject is never
2507+ considered, even if the certificate contains no subject alternative names.
2508+
24902509### ` x509.checkHost(name[, options]) `
24912510
24922511<!-- YAML
24932512added: v15.6.0
2513+ changes:
2514+ - version: REPLACEME
2515+ pr-url: https://github.com/nodejs/node/pull/41569
2516+ description: The subject option can now be set to `'default'`.
24942517-->
24952518
24962519* ` name ` {string}
24972520* ` options ` {Object}
2498- * ` subject ` {string} ` 'always' ` or ` 'never' ` . ** Default:** ` 'always' ` .
2521+ * ` subject ` {string} ` 'default' ` , ` 'always' ` , or ` 'never' ` .
2522+ ** Default:** ` 'always' ` .
24992523 * ` wildcards ` {boolean} ** Default:** ` true ` .
25002524 * ` partialWildcards ` {boolean} ** Default:** ` true ` .
25012525 * ` multiLabelWildcards ` {boolean} ** Default:** ` false ` .
@@ -2511,6 +2535,18 @@ or it might contain wildcards (e.g., `*.example.com`). Because host name
25112535comparisons are case-insensitive, the returned subject name might also differ
25122536from the given ` name ` in capitalization.
25132537
2538+ If the ` 'subject' ` option is set to ` 'always' ` and if the subject alternative
2539+ name extension either does not exist or does not contain a matching DNS name,
2540+ the certificate subject is considered.
2541+
2542+ If the ` 'subject' ` option is set to ` 'default' ` , the certificate subject is only
2543+ considered if the subject alternative name extension either does not exist or
2544+ does not contain any DNS names. This behavior is consistent with [ RFC 2818] [ ]
2545+ ("HTTP Over TLS").
2546+
2547+ If the ` 'subject' ` option is set to ` 'never' ` , the certificate subject is never
2548+ considered, even if the certificate contains no subject alternative names.
2549+
25142550### ` x509.checkIP(ip) `
25152551
25162552<!-- YAML
@@ -5896,6 +5932,7 @@ See the [list of SSL OP Flags][] for details.
58965932[ OpenSSL's SPKAC implementation ] : https://www.openssl.org/docs/man1.1.0/apps/openssl-spkac.html
58975933[ RFC 1421 ] : https://www.rfc-editor.org/rfc/rfc1421.txt
58985934[ RFC 2412 ] : https://www.rfc-editor.org/rfc/rfc2412.txt
5935+ [ RFC 2818 ] : https://www.rfc-editor.org/rfc/rfc2818.txt
58995936[ RFC 3526 ] : https://www.rfc-editor.org/rfc/rfc3526.txt
59005937[ RFC 3610 ] : https://www.rfc-editor.org/rfc/rfc3610.txt
59015938[ RFC 4055 ] : https://www.rfc-editor.org/rfc/rfc4055.txt
0 commit comments