如何禁用tls 1.0并使用nodejs仅使用tls 1.1

sha*_*yin 8 ssl node.js

我想禁用TLS v1.0并仅使用TLS 1.1及更高版本.

通过nodejs,我使用https模块,如何设置https选项?

我已经阅读了api doc 节点api tls,但我仍然不知道如何设置它.

我认为这取决于secureProtocolcipher,但我只是不知道如何设置值.

我的节点版本是0.10.36,openssl版本是0.9.8j.

kor*_*w A 9

Marco 的解决方案对我有用,但由于 TLS 1.1 也被认为是一个漏洞,所以最好禁用两者并使用 TLS 1.2

const { constants } = require('crypto')
https.createServer({
    secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1
    pfx: fs.readFileSync(path.resolve(pathToCert))
}, app).listen(443)
Run Code Online (Sandbox Code Playgroud)


小智 6

不再使用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);
Run Code Online (Sandbox Code Playgroud)

您可以使用以下工具对此进行验证:ssllabs