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