Zend 2 を使い始めたばかりで、(ローカルで) うまく動作しますが、https 経由で別のサーバーにデータを渡すことができません。
SSL証明書に関しては、私は少し初心者であり、これが問題の原因だと思います。CERT、秘密鍵、および CA 証明書を取得しました。これらは、サーバー上の仮想ホスト ドメインの 1 つで 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);
ありがとう、
ジョー