【问题标题】:Authorize.net TLS Disablement Notice nodejsAuthorize.net TLS禁用通知nodejs
【发布时间】:2017-08-03 06:39:02
【问题描述】:

几天前,我收到了来自 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 实验室测试,结果如下:-

知道我需要做什么吗?

谢谢

【问题讨论】:

  • 您在 SSL Labs 上获得的内容与您的代码有什么关系?这是他们的服务器,告诉您另一台服务器具有哪些功能。您的代码中的任何内容都不会改变这一点。

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


【解决方案1】:

尝试将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
};

【讨论】:

    【解决方案2】:

    公告是 Authorize.Net 将于 2018 年 2 月停止支持 TLS 1.1 和 1.0,您需要确保您的系统届时可以建立 TLS 1.2 连接。您可以通过连接到仅支持 TLS 1.2 的沙箱进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-11
      • 2021-07-31
      • 2015-09-20
      • 2014-02-11
      • 2020-03-22
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多