【问题标题】:Client side ssl certificate using Zend_Http_Client使用 Zend_Http_Client 的客户端 ssl 证书
【发布时间】:2013-05-16 09:27:12
【问题描述】:

我一直在尝试使用客户端证书在我的客户端应用程序和我的服务器应用程序之间建立安全通信。 我已经在我的 apache web 服务器和浏览器中设置了配置,只是为了确保它可以正常工作。

我正在使用 zend 框架 1.12,并根据 Zend 网站上的文档 以下示例应该可以工作:

$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

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

【问题讨论】:

    标签: php zend-framework ssl ssl-certificate


    【解决方案1】:

    听起来像是一个简单的防火墙问题 - 登录到服务器并停止 iptables,然后查看它是否连接。或者给客户端IP添加一个例外来访问mysql。还要检查:1337 是否打开

    【讨论】:

    • 没有网络问题,因为我可以使用证书连接我的浏览器,我怀疑它与证书/ssl 有关
    • 你试过 $http_client->setUri('somewhere.overtherainbow.com/bluebird'); - 没有端口
    • 使用端口至关重要,更重要的是我能够看到 Wireshark 上发生的 TCP 握手。但由于某种原因,ssl 加密层的某些东西失败了..
    猜你喜欢
    • 2017-04-28
    • 2013-08-04
    • 2010-10-16
    • 2012-02-15
    • 2018-02-15
    • 1970-01-01
    • 2017-06-01
    • 2012-10-18
    • 2012-07-19
    相关资源
    最近更新 更多