Список всех доступных сертификатов ssl ca


35

Мой клиент git утверждает

error: Peer's Certificate issuer is not recognized.

Это означает, что он не может найти соответствующий ключ сервера ssl в глобальной системной связке ключей. Я хочу проверить это, посмотрев на список всех общесистемных доступных ssl-ключей в системе gentoo linux. Как я могу получить этот список?

Ответы:


65

Вам нужны не ключи SSL, это центры сертификации, а точнее их сертификаты.

Вы можете попробовать:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

Чтобы получить «предмет» каждого сертификата CA в /etc/ssl/certs/ca-certificates.crt

Помните, что иногда вы получаете эту ошибку, когда серверы SSL забывают предоставить промежуточные сертификаты.

Используйте openssl s_client -showcerts -connect the-git-server:443для получения списка отправляемых сертификатов.


2
//, это не работает в CEntOS 6, но я добавил ответ для CEntOS 6 здесь: unix.stackexchange.com/a/363309/48498
Натан Басанезе

1
Список из trust listиз пакета p11-набора , по существу , то же самое?
Пабло А

15

Не уверен насчет Gentoo, но большинство дистрибутивов помещают свои программные ссылки на сертификаты в общесистемное расположение по адресу /etc/ssl/certs.

  • Ключевые файлы входят в /etc/ssl/private
  • Предоставленные системой фактические файлы расположены по адресу /usr/share/ca-certificates
  • Таможенные сертификаты идут в /usr/local/share/ca-certificates

Всякий раз, когда вы помещаете сертификат в один из вышеупомянутых путей, запускайте update-ca-certificatesдля обновления /etc/ssl/certsсписков.


1
/etc/ssl/certsправильная папка в gentoo. Но файлы плохо читаются человеческими глазами.
Джонас Стейн

3
Это update-ca-certificatesс дополнительным s(не могу редактировать это сам, так как это просто односимвольное редактирование).
Slaven Rezic

@SlavenRezic - Кто-то исправил это.
Крейг С. Андерсон

3

У меня было требование перечислить все сертификаты на нашем сервере и уведомить, если они истекают. Мы придумали эту команду:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.