tls: fix createSecureContext() cipher list filter
PR-URL: https://github.com/nodejs/node/pull/27614 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
parent
10c5171d57
commit
ae749e7a29
@ -163,7 +163,8 @@ exports.createSecureContext = function createSecureContext(options) {
|
||||
// cipher suites all have a standard name format beginning with TLS_, so split
|
||||
// the ciphers and pass them to the appropriate API.
|
||||
const ciphers = (options.ciphers || tls.DEFAULT_CIPHERS).split(':');
|
||||
const cipherList = ciphers.filter((_) => !_.match(/^TLS_/)).join(':');
|
||||
const cipherList = ciphers.filter((_) => !_.match(/^TLS_/) &&
|
||||
_.length > 0).join(':');
|
||||
const cipherSuites = ciphers.filter((_) => _.match(/^TLS_/)).join(':');
|
||||
|
||||
if (cipherSuites === '' && cipherList === '') {
|
||||
|
@ -91,3 +91,13 @@ test('TLS_AES_128_CCM_8_SHA256', U,
|
||||
|
||||
test('TLS_AES_128_CCM_8_SHA256', 'TLS_AES_128_CCM_8_SHA256',
|
||||
'TLS_AES_128_CCM_8_SHA256');
|
||||
|
||||
// Invalid cipher values
|
||||
test(9, 'AES256-SHA', U, 'ERR_INVALID_ARG_TYPE', U);
|
||||
test('AES256-SHA', 9, U, U, 'ERR_INVALID_ARG_TYPE');
|
||||
test(':', 'AES256-SHA', U, 'ERR_INVALID_OPT_VALUE', U);
|
||||
test('AES256-SHA', ':', U, U, 'ERR_INVALID_OPT_VALUE');
|
||||
|
||||
// Using '' is synonymous for "use default ciphers"
|
||||
test('TLS_AES_256_GCM_SHA384', '', 'TLS_AES_256_GCM_SHA384');
|
||||
test('', 'TLS_AES_256_GCM_SHA384', 'TLS_AES_256_GCM_SHA384');
|
||||
|
Loading…
x
Reference in New Issue
Block a user