node.js - Authorize.net TLS 禁用通知 nodejs

标签 node.js ssl authorize.net tls1.2 pci-compliance

几天前,我收到了来自 Authorize.net 的通知,要求禁用 TLS 1.0TLS 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 实验室测试,得到了以下结果:-

enter image description here

知道我需要做什么吗?

谢谢

最佳答案

尝试将 SSLv23_server_method 更改为 TLSv1_2_server_method

var sslOptions = {
  key: fs.readFileSync('/etc/ssl/private/private.key'),
  cert: fs.readFileSync('/etc/ssl/certs/STAR_crt.com.crt'),
  secureProtocol: 'TLSv1_2_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
};

关于node.js - Authorize.net TLS 禁用通知 nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45476651/

相关文章:

node.js - 我的应用程序已成功部署在 Azure 中,但无法访问 URL

javascript - Passport 身份验证回调挂起

php - Apache 配置 ssl

.htaccess - SSL www 有效但并非没有

php - Authorize.net CIM 重复交易窗口

javascript - 如果 React 组件需要 jQuery,Enzyme 会抛出错误

node.js - Baucis - 找不到路由器文档方法

ssl - Nutch 的 HTTPS 抓取问题

php - 如何在 auth Only Continue Transaction 类型中设置订单发票编号和描述?

xml - Authorize.net 可以在托管表单 iframe 中创建 CIM 客户配置文件