web-dev-qa-db-ja.com

デフォルトのCA証明書バンドルの場所

デフォルトのCA証明書バンドルに.pem証明書ファイルを追加する必要がありますが、デフォルトのCA証明書バンドルがどこに保存されるのかわかりません。

このデフォルトのバンドルに新しい.pemファイルを追加する必要があります。 --capathを使用して自分の場所を指定するよりも、そうしたい

cURLはどこを見ればよいかを明確に知っていますが、場所を明らかにするcURLコマンドはありません。この場所を明らかにするコマンドはありますか?どうすれば見つけられますか?

cURLによると:
サーバーのCA証明書を既存のデフォルトCA証明書バンドルに追加します。使用するCAバンドルのデフォルトパスは、-with-ca-bundleオプションを使用してconfigureを実行し、選択したパスを指すように変更することができます。

ありがとう

22
Slinky

curlstraceで実行すると、手掛かりが得られる場合があります。

 strace curl https://www.google.com |&grep open 

出力はたくさんありますが、終わり近くにあります。

 open( "/ etc/ssl/certs/578d5c04.0"、O_RDONLY)= 4 

これは私の証明書が保存される場所です。

22
Flup

Curlの 'bin /'、つまり 'curl'バイナリが存在する場所にプログラム 'curl-config'が存在する必要があります。

./curl-config --ca

caバンドルのインストールパスを指定します。

Whatis curl-config:「libcurlのインストールに関する情報を取得する」を実行しただけなので、libcurlがインストールされている場合にのみ利用できます。

18
lm713

簡単な方法を見つけました:--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
10
Chananel P

Linux(Ubuntu、Debian)

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

Linux(CentOs 6)

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

Linux(CentOs 5)

信頼できる証明書をファイル/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に追加する方法を説明する非常に素晴らしいリンク。

4
BiG_NoBoDy

cAルート証明書バンドルは、curlの作成者である haxx.se からダウンロードできます。次に、証明書を.pemに追加し、-cacertオプションでcurlを使用するときにそれを参照します

2
iammyr

-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*
1
Philip Rego

デフォルトのCAバンドルの場所はOSによって異なります。 RHEL5では、/ etc/pki/tls/certs/ca-bundle.pemにあります。 LinuxまたはLinux以外のOSの他のフレーバーでは、別の場所にある可能性があります。

0
John