现在已弃用TLS 1.0和1.1更新Authorize.net

时间:2018-02-11 02:32:08

标签: php authorize.net tls1.0 tls1.1

背景

我已经接管了一个运行非常旧版PHP的网站的更新。在将网站从5.3移动到7.1后,我发现authorize.net不断发送电子邮件说明,

  

我们将不再允许TLS 1.0和1.1

它声明它将在接下来的几周内完全停止工作,我不知道如何知道该网站是否使用了这个已弃用的TLS版本。我假设我应该能够通过应用程序中的authorize.net类来了解。但代码不以任何方式引用TLS。我还假设我可以通过使用的端点知道,但我还没有看到任何关于正在使用的TLS版本与所使用的端点有关。

有没有人知道测试的确定方法,并知道我们是否确实在我们的网站中使用旧版本的TLS?或者,如果可能的话,我们在网站中使用了一个非常旧版本的authorize.net,完全不依赖于TLS?

示例代码

这些是应用程序中使用的一些类的开头。也许有人对您正在使用的TLS版本指定的authorize.net api版本的内容有所了解。

class.aim.cc.license.php

<?php
/*********************/
/*                   */
/*  Dezend for PHP5  */
/*         NWS       */
/*      Nulled.WS    */
/*                   */
/*********************/

class authnetcc
{

    var $fields = array( );
    var $license_key;
    var $gateway_url = "https://secure.authorize.net/gateway/transact.dll";
    var $proxy_url;
    var $proxy_port;
    var $secure_source = false;
    var $error_code;
    var $error_message;
    var $error_field;
   ...

AIM.class.php

<?php
/**
* CLASS AIM
*
*
*/
class AIM {
    // login credentials that Authorize.net uses for verification
    var $login_id = '';
    var $trans_key = '';

    // server
    var $server = '';

    // credit card information
    var $cc_name = '';
    var $cc_number = '';
    var $cc_month = '';
    var $cc_year = '';
    var $cc_code = '';
    var $cc_type = '';

    // error stack array
    var $errorStack = array();

    // modes
    var $testMode = false;
    var $debugMode = false;
    var $errorRetries = 2;

    // buyer information
    var $buyer = array();

    // response information
    var $status = '';
    var $subcode = '';
    var $response_code = '';
    var $response_text = '';
    var $approval_code = '';
    var $md5hash = '';
    var $code = '';
    var $remaining = array();

    // constructor
    function __construct($login_id, $trans_key) {
        $this->login_id = $login_id;
        $this->trans_key = $trans_key;

        $this->setTesting(0);
    }
    ...

1 个答案:

答案 0 :(得分:3)

这是编码问题。 Authorize.Net has been sending these emails out for over a year。与所有其他符合PCI标准的支付网关一样,它们需要使用TLS 1.2或更高版本才能保持PCI兼容,这意味着它们的所有客户也必须兼容。这是您在服务器上配置的内容,而不是PHP代码中配置的内容。如果您使用的是共享Web托管服务提供商,则需要与他们联系并要求将其移至支持TLS 1.2的服务器或查找支持TLS 1.2的新主机。

仅供参考,您还应该使用new Akamai URL作为其API也必须更新。正在使用的URL是https://api2.authorize.net/xml/v1/request.api