intermediate сертификат в apache

Задача — настроить безпопасное соединение (ssl, которое сейчас tls) к вашему хосту, на котором работает apache2. Самоподписанные сертификаты нам не подходят, так как требуется чтобы с нашим сайтом работали интернет магазины. Они самоподписанным сертификатам не доверяют.

Заказываем сертификаты на доверенном центре сертификации

8410fc4d2ba401fdf42caa130ed47204.png

в апаче в контексте насройки ключей ssl есть следующие параметры
SSLCertificateFile
SSLCertificateKeyFile
SSLCertificateChainFile
с первыми двумя все понятно, это Сертификат нашего сайта и Приватный ключ. Решение было найдено на сайте redhat — в SSLCertificateChainFile нужно записать полученный
— Корневой сертификат и 
— Промежуточный сертификат 1
строго в указанном порядке. Использовать текстовые редакторы windows как советует документация nic.ru не рекомендую, так как есть опасность довавления в сертификат непечатных символов

dc4b721ebd325eb948783b43922bfb52.png

делаем все консольными средствами юникс
cp root_pem_globalsign_ssl_dv_1.crt SSLCertificateChainFile.crt
добавим переход строки между сертификатами
echo >> SSLCertificateChainFile.crt
cat intermediate_pem_globalsign_ssl_dv_1.crt_orig >> SSLCertificateChainFile.crt
визуальная проверка, что все вставилось успешно в нужный файл:
cat SSLCertificateChainFile.crt

сталось скорректировать расположение и имена сертификатов в /etc/apache2/sites-enabled/default-ssl.conf
SSLCertificateFile /etc/ssl/certs/<мой приветный сертификат>
SSLCertificateKeyFile /etc/ssl/private/<ключ к моему приватному сертификату>
SSLCertificateChainFile /etc/ssl/certsSSLCertificateChainFile.crt

© Habrahabr.ru