Php 使用Zend_Http_客户端的客户端ssl证书

Php 使用Zend_Http_客户端的客户端ssl证书,php,zend-framework,ssl,ssl-certificate,Php,Zend Framework,Ssl,Ssl Certificate,我一直在尝试使用客户端证书在客户端应用程序和服务器应用程序之间建立安全通信。 我在ApacheWeb服务器和浏览器中设置了一个配置,以确保它能够正常工作 根据zend网站上的文档,我正在使用zend framework 1.12 以下示例应该有效: $config = array( 'sslcert' => 'path/to/ca.crt', 'sslpassphrase' => 'p4ssw0rd'); $adapter = new Zend_Http_Adapter_Socket

我一直在尝试使用客户端证书在客户端应用程序和服务器应用程序之间建立安全通信。 我在ApacheWeb服务器和浏览器中设置了一个配置,以确保它能够正常工作

根据zend网站上的文档,我正在使用zend framework 1.12 以下示例应该有效:

$config = array( 'sslcert' => 'path/to/ca.crt', 'sslpassphrase' => 'p4ssw0rd');
$adapter = new Zend_Http_Adapter_Socket();
$adapter->setConfig($config);
$http_client = new Zend_Http_Client();
$http_client->setAdapter($adapter);
$http_client->setUri('https://somewhere.overtherainbow.com:1337/bluebird');
$http_client->request();
但每次我都会遇到同样的例外

无法连接到ssl://somewhere.overtherainbow.com:1337

毫无疑问,我正在使用正确的证书和密码,并且可以访问远程计算机
那么失败在哪里呢?

听起来像是一个简单的防火墙问题——登录服务器并停止iptables,然后查看它是否连接。或者向客户端IP添加一个异常以访问mysql。同时检查:1337已打开

没有网络问题,因为我可以使用证书连接浏览器我怀疑这与证书有关/ssl您是否尝试过$http_client->setUri(');-没有端口使用端口至关重要,更重要的是我能够看到Wireshark上发生的TCP握手。但由于某种原因,ssl加密层出现了一些问题。。