HTTPS URL にアクセスする際に cURL を使用して証明書を処理するにはどうすればよいですか? 質問する

HTTPS URL にアクセスする際に cURL を使用して証明書を処理するにはどうすればよいですか? 質問する

curl を使用すると次のエラーが発生します:

curl: (77) 証明書検証場所の設定エラー:
  CA ファイル: /etc/ssl/certs/ca-certificates.crt
  CApath: なし

この証明書検証場所を設定するにはどうすればよいですか?

ベストアンサー1

最新バージョンの ca-certificates もインストールしましたが、それでもエラーが発生していました:

curl: (77) error setting certificate verify locations:
  CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none

問題は、 curl が証明書がパスにあると想定していた/etc/pki/tls/certs/ca-bundle.crtが、パスにあったために証明書を見つけられなかったことです/etc/ssl/certs/ca-certificates.crt

実行して証明書を期待される場所にコピーする

sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt

私の場合はうまくいきました。ターゲットの保存先フォルダが存在しない場合は、以下を実行して作成する必要があります。

sudo mkdir -p /etc/pki/tls/certs

必要に応じて、上記のコマンドを変更して、宛先ファイル名が curl によって予期されるパスと一致するようにします。つまり、/etc/pki/tls/certs/ca-bundle.crtエラー メッセージの「CAfile:」に続くパスに置き換えます。

おすすめ記事