我刚刚开始使用 Zend 2,它(在本地)运行得非常好,但我无法让它通过 https 将数据传递到另一台服务器。
当谈到 ssl 证书时,我有点菜鸟,我认为这就是问题所在。我有一个 CERT、一个私钥和一个 CA 证书 - 这些被用于我们服务器上的一个虚拟主机域上的 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----- 哈希/密钥 -----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);
谢谢,
乔