2015-07-12 2 views
2

Я нахожусь в Apache 2.4.12, поэтому SSLCertificateChainFile теперь устарел, и любые промежуточные сертификаты должны быть включены в файл сертификата сервера. Однако я не могу понять, как это сделать - любая комбинация сертификатов, отличных от , только, сертификат сайта внутри указанного файла вызывает недопустимую ошибку ключа. Как правильно включить промежуточный сертификат в файл, который я указываю, используя SSLCertificateFile?SSLCertificateChainFile устарел

+0

[SSLCertificateChainFile Предупреждение об отставке на Apache 2.4.8+] (http://serverfault.com/q/588986/217116) – sebix

ответ

0

Для Apache 2.4.8, SSLCertificateChainFile был устаревшим. Однако он просто устарел и не удален, поэтому вы можете продолжать использовать старый стиль. Однако для версий Apache> 2.4.8, SSLCertificateChainFile не будет работать.

SSLCertificateChainFile осуждаются

SSLCertificateChainFile устаревает с версией 2.4.8, когда SSLCertificateFile было расширено также загрузить промежуточные CA сертификатов из файла сертификат сервера

источника: https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#SSLCertificateChainFile

Old Style (Действует на Apache < = 2.4.8)

#SSL Directives 
SSLEngine on 
SSLCertificateFile /etc/ssl/certs/<mydomain.com>.crt 
SSLCertificateKeyFile /etc/ssl/private/<mydomain.com>.key 
SSLCertificateChainFile /etc/ssl/certs/<full-chain-bundle>.crt 

Источник:How to Install an SSL Certificate on Apache

Новый стиль (Действительно на Apache> = 2.4.8)

#SSL Directives 
SSLEngine on 
SSLCertificateFile /etc/ssl/certs/<full-chain-bundle>.crt 
SSLCertificateKeyFile /etc/ssl/private/<mydomain.com>.key 

источник:https://codesport.io/lamp-stack-advanced/lets-encrypt-tutorial/#vhost-config

+0

Не работает для меня. Я удалил .crt, а затем сообщения об ошибках указывали, что сертификат и ключ не совпадают. –

+0

Я думаю, что этот вопрос немного смущает, так это то, что ' .crt' появляется как в старой, так и в новой конфигурации. Если я не ошибаюсь, в старой конфигурации в файл, вызываемый 'SSLCertificateChainFile', будет отображаться только цепочка * CA *, тогда как в новой конфигурации цепочка CA должна быть добавлена ​​к сертификату сервера в * полную цепочку *, который вызван 'SSLCertificateFile'. Я попытался прояснить это в своем ответе. –

0

Взятые из 2,4 модуля mod_ssl документации Apache:

SSLCertificateFile Директива

Файлы могут также включать в себя промежуточные сертификаты CA, отсортированные от листьев к корню. Это поддерживается версией 2.4.8 и более поздних версий, а также SSLCertificateChainFile.

Это означает, что директива SSLCertificateFile теперь (после 2.4.8) принимает файлы с полной цепочкой сертификатов (от листа к корню). Если у вас есть сертификат сервера в domain.crt и файл цепочки CA в domain-ca.crt, вам нужно будет объединить оба файла от листа к корню, т. Е.начиная с сертификатом сервера, как в

cat domain.crt domain-ca.crt > bundle.crt 

и использовать этот файл в conf файле вашего сайта: (. Например, с помощью Ubuntu пути по умолчанию, эти файлы будут храниться в /etc/apache2/ssl/)

SSLCertificateFile  /path/to/bundle.crt