2013-05-16 216 views
0

我一直在嘗試使用客戶端應用程序和我的服務器應用程序之間的客戶端證書建立安全通信。 我已經在我的apache web服務器中設置了配置,並在我的瀏覽器中進行了設置,以確保它可以正常工作。使用Zend_Http_Client的客戶端SSL證書

我使用Zend Framework的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

毫無疑問,我使用正確的certi ficate和密碼短語,並有權訪問遠程機器 因此,哪裏可能是垮臺?

回答

0

聽起來像一個簡單的防火牆問題 - 登錄到服務器,並停止iptables,然後看看它是否連接。或者爲客戶端IP添加一個例外來訪問mysql。同時檢查:1337是開放

+0

沒有網絡的問題,因爲我能夠使用證書 我的瀏覽器連接我懷疑它是與證書/ SSL – Xeus

+0

你試過$ http_client-> setUri( 'https://somewhere.overtherainbow.com/bluebird'); - 沒有端口 –

+0

使用端口是至關重要的,還有更多的是我能夠看到Wireshark上發生的TCP握手。但由於某些原因,ssl加密層失敗。 – Xeus