Назад | Перейти на главную страницу

Расположение пакета сертификатов CA по умолчанию

Мне нужно добавить файл сертификата .pem в комплект сертификатов CA по умолчанию, но я не знаю, где хранится комплект сертификатов CA по умолчанию.

Мне нужно добавить мой новый файл .pem в этот пакет по умолчанию. Я бы предпочел это сделать, чем указывать свое местоположение с помощью --capath

cURL четко знает, где искать, но я не вижу команд cURL, которые показывают это местоположение. Есть ли команда, которая покажет это место? Как мне его найти?

Согласно cURL:
Добавьте сертификат CA для вашего сервера в существующий комплект сертификатов CA по умолчанию. Путь по умолчанию для используемого пакета CA можно изменить, запустив configure с параметром --with-ca-bundle, указывающим путь по вашему выбору.

Спасибо

Бег 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

Linux (Ubuntu, Debian)

Скопируйте свой ЦС в каталог / usr / local / share / ca-Certificates /

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

Обновите магазин CA

sudo update-ca-certificates

Удалите свой ЦС и обновите хранилище ЦС:

sudo update-ca-certificates --fresh

Linux (CentOs 6)

Установите пакет ca-сертификатов:

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 очень хорошая ссылка, в которой объясняется, как добавить его в несколько популярных ОС.

вы можете скачать комплект корневых сертификатов CA из haxx.se кто являются создателями curl. затем просто добавьте свой сертификат в их .pem и обратитесь к нему при использовании curl с параметром --cacert

-v с https в URL.

$ 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 по умолчанию зависит от ОС. В RHEL5 он находится в /etc/pki/tls/certs/ca-bundle.pem. В других версиях Linux или операционных систем, отличных от Linux, он может находиться в другом месте.