【发布时间】:2016-05-02 10:04:11
【问题描述】:
我最近发现 PayPal nvp 协议正在/将要更改 - 需要 SHA-256 和 Verisign G5 证书。 看来我的托管服务器环境具备先决条件,因为 PayPal 流程在那里运行良好。
问题出在我的开发机器上。 该机器是 Windows 7,已完全修补,默认情况下应安装 SHA-256。 我已经在机器上安装了“VeriSign Class 3 Public Primary Certification Authority - G5 root certificate”。可能存在问题的一件事是,当我使用 certmgr.msc 检查证书存储时,它会显示证书,但标题栏会显示 [证书 - 当前用户]。我不确定如何检查证书是适用于机器还是仅适用于当前用户,或者这是否重要。
当我在这台机器上运行 curl -V 时,我得到以下信息:
C:\Users\me>c:\soft\curl\curl -V
curl 7.33.0 (x86_64-pc-win32) libcurl/7.33.0 OpenSSL/0.9.8y zlib/1.2.8 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz
当我使用 PayPal nvp 端点运行以下 curl 测试时,我得到以下信息:
C:\Users\me>c:\soft\curl\curl --insecure https://api-3t.sandbox.paypal.com/nvp -d "USER=truncated&PWD=truncated&SIGNATURE=truncated&METHOD=SetExpressCheckout&VERSION=78
&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=19&PAYMENTREQUEST_0_CURRENCYCODE=USD&cancelUrl=http://www.example.com/cancel.html&returnUrl=http://www.example.com/success.html"
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
PayPal SSL Certificate Upgrade Microsite 指向“警报握手失败”错误消息,但我已尽我所能确保已安装 SHA-256 和新的根证书。 您能否指出我的下一个方向,让我的开发机器通过 PayPal 恢复正常工作? 有什么方法可以确定机器是否满足所有要求?
【问题讨论】: