自己署名証明書を使用して Apache 2 サーバーをインストールしました。サーバーに接続しようとすると、ブラウザーに「動作しています」と表示されます。しかし、アプリケーションから cur_easy_perform() を発行すると、呼び出しがエラー コード 60 で失敗しました: ピア証明書は、指定された CA 証明書では認証できません。
ブラウザは本当にサーバーの証明書を検証しましたか? 上記のエラーを回避したい場合は、さらに何を行う必要がありますか?
ありがとう。
答え1
Curl は、証明書を検証するために、OS によって管理されている SSL 証明書 (通常は /etc/ssl/certs または /user/lib/ssl/crts 内) を使用します。ブラウザは通常、独自の証明書ストアを使用します。したがって、ブラウザに証明書を追加しても、必ずしも curl がそれを検証できるとは限りません。
curl が使用するストアに証明書を追加するには、証明書を /etc/ssl/certs (またはディストリビューションが SSL 証明書を保存しているディレクトリ) にダウンロードし、そのディレクトリで c_rehash を実行します。