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
Authorize.Net DPM 因 SHA-256 SSL 证书而失败