我剛開始使用Zend 2,它工作得很好(本地),但我無法通過https將數據傳遞給另一臺服務器。爲什麼不會zend 2 http驗證我的ssl證書?
當談到ssl證書時,我有些小心,我認爲這是問題所在。我有一個證書,私鑰和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);
感謝,
喬