Установить корневой сертификат в CentOS 6

9

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

Что следует знать о новом корневом CA:

  1. Apache httpd и PHP
  2. Клиент OpenLDAP
  3. Node.js

Для Apache мне нужно приложение PHP, чтобы знать о корневом сертификате, поэтому, если сайт подключается к другому веб-сайту SSL (подписанному тем же CA), он работает нормально и не жалуется на самозаверяющий сертификат.

Я полагаю, что для OpenLDAP это то же самое, что и для PHP, модуль, который он использует, довольно старый, это Net_LDAP2, установленный с PEAR. Я попытался отредактировать локальную конфигурацию openldap, но похоже система не использует ее.

Последний Node.js, который я использую для парсоида. Серверы node.js должны доверять ЦС, чтобы установить хорошее SSL-соединение.

Я попытался добавить сертификат в /etc/pki/tls/certs/ca-bundle.crt без особого успеха.

Хотя httpd не видит корневой CA, мне удалось настроить другие сервисы, такие как tomcat и 389.

Спасибо за Вашу поддержку.

Джон Уайт
источник
1
Это почти три вопроса. Хотя я могу ошибаться, возможно, существует общесистемный способ доверять сертификату CA для всех этих сервисов. Если нет общесистемного метода, то для получения полезных ответов может потребоваться разбить его на три отдельных вопроса.
Зоредаче
Что именно вы пробовали? Это довольно легко исследуемый материал, как это обычно делается. Если мы знаем , почему у вас возникли проблемы, мы могли бы быть в состоянии дать лучший ответ , чем SSLCACertificateFileв /etc/httpd/conf.d/ssl.conf, TLS_CACERTв /etc/openldap/ldap.conf(OpenLDAP Client), TLSCACertificateFileв /etc/openldap/slapd.conf(OpenLDAP сервер), и т.д ..
Аарон Копли
Apache httpd - главная причина, по которой я написал этот вопрос. Я думаю, что это читает общесистемные сертификаты. Но редактирование их не сработало.
Джон Уайт

Ответы:

7

На моем блоке RHEL 6 man 8 update-ca-trustстраница руководства содержит довольно подробное объяснение того, как можно / нужно управлять сертификатами CA всей системы и связанными с ними доверительными отношениями.

Чаще всего конфигурация не зависит от приложения, как указано в комментариях выше.

HBruijn
источник
2
Нет такого руководства для CentOS. Я считаю, что две системы имеют разные инструменты администратора.
Джон Уайт
Они в основном похожи, но такие небольшие различия всегда сбивают меня с толку. Это часть CA-сертификата оборотов в минуту. Копия
справочной
В моем CentOS 6.5 есть справочная страница для update-ca-trust. @ Mc120k у вас установлен CA-Certificates-2013?
8None1
1

Я написал несколько командных строк, чтобы они были более доступными для начинающих в SSL:

Перейдите в папку PKI

$ cd /etc/pki/tls/certs/
 

ПРОВЕРКА (жесткие) ссылки и резервные сертификаты

$ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak
$ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak
 

Загрузить ЦС цепь в CentOS

$ scp <cachain> root@sydapp28:/tmp 
 

Подключение к CentOS через SSH (Putty?) Или локально

$ ssh -C root@sydapp28
 

IF PKCS12 CAChain: «Преобразовать сертификат внутренней цепочки CA в формат PEM и удалить заголовки»:

$ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem
 

Добавьте свой внутренний CA в CentOS

$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt
$ reboot
Флориан Бидабе
источник