【发布时间】:2017-08-03 06:39:02
【问题描述】:
几天前,我收到了来自 Authorize.net 的通知,要求我禁用 TLS 1.0 和 TLS 1.1
我正在使用 nodejs,这是我在 app.js 中禁用 TLS1.0 和 TLS 1.1 的代码
var sslOptions = {
key: fs.readFileSync('/etc/ssl/private/private.key'),
cert: fs.readFileSync('/etc/ssl/certs/STAR_crt.com.crt'),
secureProtocol: 'SSLv23_server_method',
secureOptions: constants.SSL_OP_NO_SSLv3 | constants.SSL_OP_NO_TLSv1,
ca: [
fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_1.crt'),
fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_2.crt'),
fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot_3.crt')
],
ciphers:[
"ECDHE-RSA-AES256-SHA384",
"DHE-RSA-AES256-SHA384",
"ECDHE-RSA-AES256-SHA256",
"DHE-RSA-AES256-SHA256",
"ECDHE-RSA-AES128-SHA256",
"DHE-RSA-AES128-SHA256",
"HIGH",
"!aNULL",
"!eNULL",
"!EXPORT",
"!DES",
"!RC4",
"!MD5",
"!PSK",
"!SRP",
"!CAMELLIA",
"!3DES"
].join(':'),
//ca: fs.readFileSync('/etc/ssl/certs/AddTrustExternalCARoot.crt'),
requestCert: false,
rejectUnauthorized: false
};
但我似乎遗漏了一些东西。我在 30 小时后进行了 SSL 实验室测试,结果如下:-
知道我需要做什么吗?
谢谢
【问题讨论】:
-
您在 SSL Labs 上获得的内容与您的代码有什么关系?这是他们的服务器,告诉您另一台服务器具有哪些功能。您的代码中的任何内容都不会改变这一点。
标签: node.js ssl authorize.net tls1.2 pci-compliance