【问题标题】:PayPal TLS 1.2 upgrade issuesPayPal TLS 1.2 升级问题
【发布时间】:2017-09-25 23:40:51
【问题描述】:

随着 PayPal TLS 1.2 升级迫在眉睫,我急于升级我的客户支付系统。问题是,它们在 .NET 3.5 上。我与 PayPal 支持人员谈过,他们说他们的 SDK 只支持 .NET 4.5。将整个站点升级到 4.5 需要很长时间才能完成。因此,除非他们错了,并且有人可以为我指明如何将 payflow pro SDK 实施到 .NET 3.5 系统中的正确方向,否则我提出了 2 个选项(除了升级):

  1. 使用 WebClient 连接到支付流网关。我喜欢这个解决方案,但我没有得到回应。我有两个 sn-ps 代码

            using (System.Net.WebClient wc = new System.Net.WebClient())
        {
            wc.Headers.Add("Content-type", "text/namevalue");
            wc.Headers.Add("Content-Length", requestData.ToString().Length.ToString());
            wc.Headers.Add("X-VPS-Timeout", "30");
            wc.Headers.Add("X-VPS-Request-ID", System.Guid.NewGuid().ToString());
            wc.Headers.Add("X-VPS-VIT-Client-Type", "PHP/cURL");
            string HtmlResult = wc.UploadString("https://" + this.HostAddress, requestData.ToString());
        }
    

System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://" + this.HostAddress);


        httpWebRequest.ContentType = "text/namevalue";
        httpWebRequest.ContentLength = rawRequestData.Length;
        httpWebRequest.Headers.Add("X-VPS-Timeout", "30");
        httpWebRequest.Headers.Add("X-VPS-Request-ID", System.Guid.NewGuid().ToString());
        httpWebRequest.Headers.Add("X-VPS-VIT-Client-Type", "PHP/cURL");
        httpWebRequest.Method = "POST";

        using (var stream = httpWebRequest.GetRequestStream())
        {
            stream.Write(rawRequestData, 0, rawRequestData.Length);
        }

        var response = (System.Net.HttpWebResponse)httpWebRequest.GetResponse();
        var stringResponse = new System.IO.StreamReader(response.GetResponseStream()).ReadToEnd();

两者都返回空响应异常。

  1. 另一种方法是创建一个在 .NET 4.5 中编译的本地 Web 服务,并让 Web 应用程序使用它来处理事务。这一切都将在本地完成,因此 Web 应用程序不会与另一台计算机通信,它将连接到本地的 Web 服务。至于网络服务,我会让它只响应本地请求。问题是 Web 服务上不会有 SSL。所以最大的问题是,如果 Web 服务不响应外部请求,而是在内部发出请求,是否会破坏 PCI 合规性?

【问题讨论】:

    标签: paypal payment-gateway payment pci-compliance


    【解决方案1】:

    我不必求助于这个,因为我维护的应用程序是 4.5 或更高版本,但是

    “.NET 框架版本 3.5.1 和更早版本不支持应用程序使用传输层安全 (TLS) 系统默认版本作为加密协议。此更新允许在 . NET 框架 3.5.1。”

    https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-.net-framework-3.5.1-on-windows-7-sp1-and-server-2008-r2-sp1

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 2018-01-02
      • 2016-12-21
      • 1970-01-01
      • 2018-10-20
      • 2017-09-30
      • 1970-01-01
      • 2019-12-13
      • 2019-08-13
      相关资源
      最近更新 更多