gpt4 book ai didi

php - 为什么 zend 2 http 不验证我的 ssl 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:26 26 4
gpt4 key购买 nike

我刚刚开始使用 Zend 2,它(在本地)工作得非常好,但我无法让它通过 https 将数据传递到另一台服务器。

在 ssl 证书方面,我有点菜鸟,我认为这就是问题所在。我有一个 CERT、一个私钥和一个 CA 证书 - 这些被用于我们服务器上的一个 vhost 域上的 ssl 证书,位置是:-

SSLCertificateFile /usr/local/psa/var/certificates/cert-####
SSLCACertificateFile /usr/local/psa/var/certificates/cert-####

在我读到的每个示例中,它们都在“/etc/ssl/certs/ca-bundle.pem”中。我的问题是如何将它们粘在一起以创建 zend 2 想要的这个 .pem 文件?我尝试只创建一个包含所有 -----BEGIN CERTIFICATE----- 哈希/ key -----END CERTIFICATE----- 的 .pem 文件并将其命名为 ca-bundle.pem但是现在 Apache 向我抛出“无法设置验证位置”错误,我该如何让它工作?这是我为适配器准备的代码片段:-

$adapter = new Zend\Http\Client\Adapter\Socket();
$adapter->setStreamContext(array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => false,
'cafile' => '/usr/local/psa/var/certificates/ca-bundle.pem',
'verify_depth' => 5,
'CN_match' => 'https://www.mydomain.co.uk'
)
));

$client->setAdapter($adapter);

谢谢,

最佳答案

首先是这个,但我猜你已经正确地做到了:How to get .pem file from .key and .crt files?

错误 Unable to set verify locations 是因为 Apache 无法找到或读取 key 。

解决方法:

  1. 验证路径是否正确
  2. 确保 pem 文件对于运行 Apache 的 www 用户是可读的

关于php - 为什么 zend 2 http 不验证我的 ssl 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com