SHA-256 证书的 PayPal 更改

Posted

技术标签:

【中文标题】SHA-256 证书的 PayPal 更改【英文标题】:PayPal Changes for SHA-256 Certificates 【发布时间】:2015-12-09 11:27:42 【问题描述】:

我收到了来自 PayPal 的电子邮件,内容是他们在支持 SHA-256 证书方面所做的更改,并警告我可能需要更新我网站上的内容。

我使用 PayPal 的 IPN 服务,该服务最初是在我的网站上设置的(我编写的所有自定义 php 代码,没有预先构建的购物车),并且自 2008 年以来一直运行良好。

我的主机是共享主机,因为它不是一个非常大或繁忙的网站。我们运行 PHP 5.2.17、Apache 2.2.3 (CentOS) 和 OpenSSL 0.9.8e-fips-rhel5 的托管平台 2008 年 7 月 1 日(我从 PHP 的 phpinfo() 函数中获得了所有这些信息)。

由于我无法更新服务器上的任何软件,因此我认为需要进行的任何更改都必须由我的虚拟主机进行,这是否正确?

当我最初在 2008 年设置所有内容时,我记得从 PayPal 下载证书并在我的 Windows PC 上使用 OpenSSL 创建一些东西(另一个证书?我不知道),然后我将其上传到我的网站并用于加密我对 PayPal 的付款请求。 PayPal 带来的 SHA-256 更改是否会影响这一点?我需要重新制作证书吗?

我确实尝试过使用 IPN 模拟器(在更改了我的 IPN 处理程序使用的端点之后),但我无法让它工作,因为 IPN 模拟器给了我一个 502 Bad Gateway 错误,我不知道是什么这意味着或可能是什么问题。

【问题讨论】:

将您的网站 URL 放入 www.shachecker.com 看看它会告诉您什么。 shachecker.com 似乎对我不起作用(通配符 SSL 证书)虽然 sslshopper.com/ssl-checker.html 确实如此 shachecker.com 说“那个域似乎没有在 https 上运行”这是正确的,我没有在我的网站上的任何地方使用 https,因为没有必要,因为所有信用卡信息都是通过贝宝完成。 sslshopper.com/ssl-checker.html 说找不到证书,这又是正确的,因为我不使用 https。 @user3792628 即使您有支付网关也需要使用 https,这是因为攻击者可以修改您的页面以指向他们的 paypal,甚至是恶意网站,窃取信息/金钱。 【参考方案1】:

即使您的网站没有使用 HTTPS,您仍然需要检查与此升级的证书兼容性。

当您的 IPN 脚本收到 PayPal 消息并将其 POST 回 PayPal 进行验证时,此服务器到服务器的连接必须受到保护,因为 PayPal 的 IPN 端点使用 HTTPS,这意味着您的网络服务器上的默认密钥库/信任库应包含SHA-2 兼容证书来建立 SSL 握手。

OpenSSL 0.9.8 默认支持 SHA-2,但仍然值得通过简单地将 IPN 脚本端点从 www.paypal.com 指向 www.sandbox.paypal.com 来检查您的服务器兼容性(因为沙盒环境已经完成了 SHA-2 升级),然后向您的听众发送一条 IPN POST 消息(使用 IPN 模拟器)

或 SSH 到您的服务器并运行命令:

openssl s_client -connect www.sandbox.paypal.com:443 -showcerts -CApath /etc/ssl/certs/

【讨论】:

感谢您的 cmets。我确实尝试将 IPN 脚本的端点更改为 www.sandbox.paypal.com 并通过 IPN 模拟器发送了一条消息,但模拟器给了我一个 502 Bad Gateway 错误并且没有消息进入我的脚本。我很确定我为我的 IPN 脚本输入了正确的 URL,所以我不知道问题出在哪里(也许沙盒只是经历了众多中断之一)。我会回去再试一次。 对不起,我在这里问一个问题,如果 ipn 在 sendbox 中工作,这意味着不需要更改 SHA-256 证书的更改? @Purvesh Desai,正确,针对沙盒的测试将确保 SHA-2 合规性

以上是关于SHA-256 证书的 PayPal 更改的主要内容,如果未能解决你的问题,请参考以下文章

显示发布证书指纹仅显示 (SHA-256),不显示 SHA1

APP上架华为商店获取SHA256证书指纹

如何为 Branch.io 提取 Sha256 证书指纹

Authorize.Net DPM 因 SHA-256 SSL 证书而失败

可以用 sha256 证书 openssl smime -verify

使用CMD命令查看Android应用签名证书的SHA1、MD5、SHA256值