Установить корневой сертификат в 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 всей системы и связанными с ними доверительными отношениями.

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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.