为了账号安全,请及时绑定邮箱和手机立即绑定

在 PHP 中使用 curl 连接到在证书包中显示过期根证书的站点

在 PHP 中使用 curl 连接到在证书包中显示过期根证书的站点

PHP
梵蒂冈之花 2023-04-28 13:54:05
周末,Sectigo AddTrust External CA Root 过期了。对于现代浏览器,这对受影响网站的用户应该没有任何影响。我们的 PHP 应用程序连接到我们无法控制的站点,该站点在其证书包中包含此过期的根目录。我们使用 curl 进行连接,并验证证书。但是由于此根现在已过期,因此 curl 现在拒绝连接,并出现证书已过期的错误。在https://addtrustchain.test.certificatetest.com/有一个示例站点表现出相同的行为表现出相同行为的示例代码是$ch = curl_init();$url = 'https://addtrustchain.test.certificatetest.com/';//$url = 'https://google.com';$caPath = '/path/to/cacert.pem';curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, true);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, 2);curl_setopt($ch,CURLOPT_CAINFO, $caPath);$output = curl_exec($ch);var_dump($output);var_dump(curl_getinfo($ch));var_dump(curl_errno($ch));var_dump(curl_error($ch));curl_close($ch);php 端是否有解决方法,我们可以忽略捆绑包中提供的过期根证书?我们正在尝试与另一方的各方合作,从他们的捆绑包中删除/更新过期的根目录,但如果下次出现这种情况时能有我们这边的解决方案就太好了。我已尝试更新我们的本地 cacert.pem 以包括实际证书本身和提供的中介,但这些似乎都无法解决问题。
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信