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

Как установить собственный сертификат CA на CentOS?

Я пытаюсь установить сертификат для моего внутреннего сервера сертификатов в ряде систем CentOS, и я обнаружил, что документации по нему почти не существует.

Моя конечная цель - научиться использовать git, curlи другие против внутренних защищенных серверов без ошибок.

В Ubuntu это достаточно просто: вы бросаете сертификат в папку и запускаете команду для создания серии ссылок для добавления сертификата CA к пути сертификации.

Я не могу, хоть убей, узнать, как это сделать на CentOS .. Существует много информации о доверии случайным сертификатам. (То есть: создать символическую ссылку в /etc/pki/tls/certs в файл сертификата в кодировке PEM, названный хешем сертификата. Не работал для моего ЦС, так как вышеупомянутые приложения все еще не могут проверить сертификат, подписанный ЦС).

Как установить новый корневой ЦС в системе CentOS?

Начиная с CentOS 6+, для этого есть инструмент. За это руководство, сначала можно установить сертификаты, включив системное хранилище общих ЦС:

update-ca-trust enable

Затем разместите сертификаты для доверия как CA в /etc/pki/ca-trust/source/anchors/ для высокого приоритета (без переопределения) или /usr/share/pki/ca-trust-source/ (более низкий приоритет, переопределение) и, наконец, обновление системного хранилища с помощью:

update-ca-trust extract

Et voila, системные инструменты теперь будут доверять этим сертификатам при создании безопасных соединений!

К сожалению, я не думаю, что в CentOS есть единый централизованный способ сделать это. Я потратил много времени, пытаясь добиться того же. Основное хранилище сертификатов pki tls используется для многих, но определенно не для всех.

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

Это не идеально - некоторые экземпляры tomcat, которые я развертываю, имеют внутреннюю установку Java с нестандартным каталогом cacerts для одного, но он удовлетворяет большинство моих потребностей.