【问题标题】:Forcing TLS 1.1 or higher on node.js在 node.js 上强制使用 TLS 1.1 或更高版本
【发布时间】:2014-04-02 08:33:03
【问题描述】:

我正在尝试创建一个使用 TLS 1.1 或更高版本的服务器。

这是我当前的 TLS 配置:

var options = {};
options.key  = fs.readFileSync('privatekey.pem');
options.cert = fs.readFileSync('certificate.pem');
options.secureProtocol = 'TLSv1_server_method';
options.ciphers = "AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH";
options.honorCipherOrder = true;
httpServer = https.createServer(options, app);

正如here建议的那样

通过阅读 Openssl 的指南 here 我没有找到任何关于 TLS 1.1 的信息

有什么建议吗?

【问题讨论】:

    标签: node.js ssl


    【解决方案1】:

    不应再使用 TLS 1.0。 这可以在 node.js 中禁用 TLS 1.0:

    https.createServer({
            secureOptions: require('constants').SSL_OP_NO_TLSv1,
            pfx: fs.readFileSync(path.resolve(pathToCert))
        }, app).listen(443);
    

    您可以使用此工具验证这一点: ssllabs

    【讨论】:

      【解决方案2】:

      这成功了:

      options.secureProtocol = 'SSLv23_server_method';
      options.ciphers = "AES128-GCM-SHA256:HIGH:!MD5:!aNULL:!EDH";
      

      寻找它的正确位置是here

      【讨论】:

      • 您确定这阻​​止了 TLS 1 吗?使用这些密码我仍然能够让 TLS 1.0 工作。
      • 尝试 options.secureProtocol = 'TLSv1_2_server_method';
      • 是的。这也被证明是不成功的。你运行的是什么版本的 Node?​​span>
      • 作为后续,它是一个 OpenSSL / Node.js 版本的东西。更新 Node.js(进而更新 OpenSSL)解决了这个问题。
      猜你喜欢
      • 1970-01-01
      • 2021-04-14
      • 2020-09-05
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      相关资源
      最近更新 更多