デフォルトのCA証明書バンドルに.pem証明書ファイルを追加する必要がありますが、デフォルトのCA証明書バンドルがどこに保存されるのかわかりません。
このデフォルトのバンドルに新しい.pemファイルを追加する必要があります。 --capathを使用して自分の場所を指定するよりも、そうしたい
cURLはどこを見ればよいかを明確に知っていますが、場所を明らかにするcURLコマンドはありません。この場所を明らかにするコマンドはありますか?どうすれば見つけられますか?
cURLによると:
サーバーのCA証明書を既存のデフォルトCA証明書バンドルに追加します。使用するCAバンドルのデフォルトパスは、-with-ca-bundleオプションを使用してconfigureを実行し、選択したパスを指すように変更することができます。
ありがとう
curl
をstrace
で実行すると、手掛かりが得られる場合があります。
strace curl https://www.google.com |&grep open
出力はたくさんありますが、終わり近くにあります。
open( "/ etc/ssl/certs/578d5c04.0"、O_RDONLY)= 4
これは私の証明書が保存される場所です。
Curlの 'bin /'、つまり 'curl'バイナリが存在する場所にプログラム 'curl-config'が存在する必要があります。
./curl-config --ca
caバンドルのインストールパスを指定します。
Whatis curl-config:「libcurlのインストールに関する情報を取得する」を実行しただけなので、libcurlがインストールされている場合にのみ利用できます。
簡単な方法を見つけました:--cacert
間違ったファイル名を指定すると、出力にパスが表示されます。
例:
~$ curl --cacert non_existing_file https://www.google.com
curl: (77) error setting certificate verify locations:
CAfile: non_existing_file
CApath: /etc/ssl/certs
CAをdir/usr/local/share/ca-certificates /にコピーします
Sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
CAストアを更新する
Sudo update-ca-certificates
CAを削除して、CAストアを更新します。
Sudo update-ca-certificates --fresh
Ca-certificatesパッケージをインストールします。
yum install ca-certificates
動的CA構成機能を有効にします。update-ca-trust force-enable /etc/pki/ca-trust/source/anchors/
に新しいファイルとして追加します。
cp foo.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract
信頼できる証明書をファイル/etc/pki/tls/certs/ca-bundle.crt
に追加します
cat foo.crt >>/etc/pki/tls/certs/ca-bundle.crt
https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html それをいくつかの人気のあるOSに追加する方法を説明する非常に素晴らしいリンク。
cAルート証明書バンドルは、curlの作成者である haxx.se からダウンロードできます。次に、証明書を.pemに追加し、-cacertオプションでcurlを使用するときにそれを参照します
-v
URLにhttpsを使用します。
$ curl -v https://google.com
* Rebuilt URL to: https://google.com/
* timeout on name lookup is not supported
* Trying 172.217.9.174...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to google.com (172.217.9.174) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* *CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt*
デフォルトのCAバンドルの場所はOSによって異なります。 RHEL5では、/ etc/pki/tls/certs/ca-bundle.pemにあります。 LinuxまたはLinux以外のOSの他のフレーバーでは、別の場所にある可能性があります。