【问题标题】:XAMPP on Windows srv 2012 R2 IPN issueWindows srv 2012 R2 IPN 问题上的 XAMPP
【发布时间】:2015-03-22 10:57:38
【问题描述】:

我在 win server 2012 R2 上有最新的 xampp,并已成功为我的域安装了 ssl 证书,并且可以从外部访问(我的站点:https://www.n-aos.com/)。网站服务正常!

我正在使用来自这里的官方 paypal php ipn 代码:https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php#L58-L59 并且标记了不起作用的问题,第 58 行和第 59 行。

如果我将CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST 设置为0,那么服务可以正常工作,但我不想在没有验证的情况下工作...

我也曾尝试从 (http://curl.haxx.se/docs/caextract.html) 下载 cabundle 证书并有未注释的行来使用该证书,但错误与没有第 79 行和第 80 行时相同

调试错误日志只有这一行:

[2015-01-23 10:36 Europe/Zagreb] Can't connect to PayPal to validate IPN message: SSL certificate problem: unable to get local issuer certificate

如果您能想到我能做到的事情,我将不胜感激。顺便说一句,ipn check 的代码在几个月前从 linux 机器(一些 debian 发行版)托管时确实有效,如果这有帮助的话。

谢谢,克雷索

【问题讨论】:

    标签: php ssl paypal paypal-ipn


    【解决方案1】:

    好的,经过漫长而彻底的测试并试图让 paypal IPN 正常工作,我的同事发现了什么病,所以我会在这里发布它,让其他人在我的鞋子里睡个好觉:)

    我们的服务器ipn地址是https,需要这个步骤。

    在与 paypal 对话的 php 文件中添加以下行:

    curl_setopt($ch, CURLOPT_SSLCERT, 'c:/path/some.crt');
    curl_setopt($ch, CURLOPT_SSLKEY, 'c:/path/some.key');
    curl_setopt($ch, CURLOPT_CAINFO, 'c:/path/cabundle.crt');
    

    为第一行和第二行添加完整路径到您的域的证书文件,该文件正在卷曲到贝宝。

    对于第三行,这是一个棘手的部分,从这个页面添加第二个 older 证书

    http://curl.haxx.se/docs/caextract.html

    拥有1024bit长的verisign key的! :)

    奇怪的是,一些 ssl 网站上的测试确实通过了新的 cabundle,比如 google、银行网站,但 paypal 失败了.. 所以这确实让我们感到困惑

    github上cert文件的直接链接位于:github link from 13.08.2015

    干杯,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      相关资源
      最近更新 更多