curl/openssl 接続用に Debian 8 に中間証明書をインストールします。

curl/openssl 接続用に Debian 8 に中間証明書をインストールします。

PHP の stream_socket_client() コマンド経由で URL に接続しようとしていますが、エラー コードやメッセージが表示されず失敗します。これは openssl、curl、または他の何かを使用していますか? このサイトは https を使用しており、Web ブラウザーから正常に動作します。

ここに画像の説明を入力してください

openssl を直接呼び出すと接続されますが、証明書チェーンに問題があるようです。

root@drupal7 drupal7/includes# openssl s_client -connect test.cgps.org:443
CONNECTED(00000003)
Verify return code: 21 (unable to verify the first certificate)

カールも同様

curl https://test.cgps.org/?q=/admin/config/search/clean-urls/check
curl: (60) SSL certificate problem: unable to get local issuer certificate

そこで、中間証明書を Linux にインストールする必要があると判断し、Apache が使用するのと同じ中間証明書を /usr/local/share/ca-certificates に配置し、update-ca-certificates を実行しました。

root@drupal7 drupal7/includes# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.

まだ運がない...

関連情報