使用 IPN 模拟器测试 PayPal IPN SHA-256 合规性
Posted
技术标签:
【中文标题】使用 IPN 模拟器测试 PayPal IPN SHA-256 合规性【英文标题】:Testing PayPal IPN SHA-256 Compliance with IPN Simulator 【发布时间】:2016-10-18 02:35:34 【问题描述】:我使用 PayPal IPN 进行付款通知。 PayPal 表示所有 Https 连接必须在 2016 年 9 月 30 日之前符合 SHA-256。(即使用 TLS 2.1 的 Https) 事实上 PayPal 现场测试从 6/17 开始。一封 PayPal 电子邮件指出“我们强烈建议您的系统在 6 月 17 日之前与 SHA-256 兼容,以确保您的业务不会中断。”
所以我为我的 IPN 网络应用程序制作了一个模组,并使用“PayPal IPN 模拟器”对其进行了测试。 Resulting message = "IPN 已发送且握手已验证。"
有人知道“PayPal IPN 模拟器”是否肯定 IPN 网络应用程序现在符合 SHA-256 标准吗?
更新: 这是来自我的 IPN 应用程序的 .Net HTTPS 回发代码。
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.paypal.com/cgi-bin/webscr");
【问题讨论】:
【参考方案1】:IPN 模拟器不会确认您的脚本是否进行了回发,“IPN 已发送且握手已验证”消息仅表示单向连接成功(来自PayPal 到您的 URL)。
为确保您的网络服务器在您的 IPN 向 PayPal 进行回发时与 SHA-2 兼容,您只需使用以下命令(例如 LAMP 环境)测试从您的主机到 PayPal 端点的连接:
openssl s_client -connect api-3t.sandbox.paypal.com:443 -showcerts
或检查服务器信任库,看看是否包含 G5 根证书,
ls -la /etc/ssl/certs/ | grep G5
【讨论】:
pp_pduan 谢谢。我的网站位于共享的 Windows 托管服务器上。我已要求他们的支持团队确认“VeriSign G5 根证书 (SHA-256)”在证书存储中。我希望当应用程序回发连接到 PayPal 时,它将使用 G5 根证书。我不是安全专家,所以我不知道应用程序执行回发时如何完成证书选择。 只要根证书在您的信任密钥库中,就可以了。证书选择由服务器协商和一组 SSL 握手过程自动完成以上是关于使用 IPN 模拟器测试 PayPal IPN SHA-256 合规性的主要内容,如果未能解决你的问题,请参考以下文章
使用 paypal ipn 模拟器测试 subscr_payment
Paypal 沙盒 IPN 模拟器 - 502 Bad Gateway