我想禁用TLS v1.0并仅使用TLS 1.1及更高版本。
通过nodejs,我使用https
模块,如何设置https选项?
我已阅读过api doc node api tls,但我仍然不知道如何设置它。
我认为这取决于secureProtocol
和cipher
,但我不知道如何设置值。
我的节点版本是0.10.36,openssl版本是0.9.8j。
答案 0 :(得分: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);
您可以使用此工具验证这一点:ssllabs
答案 1 :(得分:3)
常量模块的使用没有记录。禁用TLS v1.0的更好方法是使用加密模块中的常量。请参阅Node.js网站上的documentation以供参考。
然后解决方案如下:
const { constants } = require('crypto')
https.createServer({
secureOptions: constants.SSL_OP_NO_TLSv1,
pfx: fs.readFileSync(path.resolve(pathToCert))
}, app).listen(443)
答案 2 :(得分:2)
Marco的解决方案对我有用,但是由于TLS 1.1也被认为是一个漏洞,因此最好同时禁用两者并使用TLS 1.2
oauth2_support(new branch)
答案 3 :(得分:1)