Node.js по умолчанию шифрует TLS_EMPTY_RENEGOTIATION_INFO_SCSV
, чтобы защитить себя от атаки POODLE.
Я пытаюсь избежать отправки этого шифрования (даже если это может представлять угрозу безопасности) путем переопределения шифров TLS с помощью специального списка шифров.
Однако Node.js продолжает отправлять TLS_EMPTY_RENEGOTIATION_INFO_SCSV
шифр независимо от того, что я делаю. Я пытаюсь сознательно избегать отправки этого шифра, чтобы имитировать TLS-согласование Firefox/Chrome.
Вот код, который я использую для изменения и проверки того, какие шифры Node отправляет:
var request = require('request');
var ciphers = [
'ECDHE-ECDSA-AES128-GCM-SHA256',
'ECDHE-RSA-AES128-GCM-SHA256',
'ECDHE-ECDSA-AES256-SHA',
'ECDHE-ECDSA-AES128-SHA',
'ECDHE-RSA-AES128-SHA',
'ECDHE-RSA-AES256-SHA',
'DHE-RSA-AES128-SHA',
'DHE-RSA-AES256-SHA',
'AES128-SHA',
'AES256-SHA',
'DES-CBC3-SHA'
].join(':');
var options = {
ciphers: ciphers,
secureProtocol: 'TLSv1_2_method',
url: 'https://www.howsmyssl.com/a/check'
};
request(options, function (error, response, body){
if (!error) {
console.log(body);
}
else {
console.log(error);
}
});
Можно ли отключить отправку этого шифра в Node.js?