Недавно я обновил Apache с 2.2 до 2.4, и я не могу понять, как отказаться от SSLCertificateChainFile
директива.
Ошибка:
me@jessie:~$ sudo apache2ctl configtest
AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead
Syntax OK
Мои текущие настройки:
SSLCertificateFile /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem
SSLCACertificateFile /etc/apache2/cert/ca.pem
Сертификат подписан StartCOM. Инструкция говорит, что теперь вся цепочка должна быть в одном файле, указанном SSLCertificateFile
директиву, но я не знаю, какие ключи и в каком порядке я должен присоединить к этому файлу.
Учитывая, что вы используете это в своей конфигурации apache:
SSLCertificateFile /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key
В /etc/apache2/cert/ssl.crt
файл должен содержать
Вам необходимо поместить все промежуточные сертификаты ЦС в файл crt. В зависимости от цепочки сертификатов вашего сертификата будет задействовано разное количество центров сертификации.
Вам даже не нужно добавлять корневой ЦС, поскольку он должен находиться в хранилище доверенных сертификатов любых клиентов, иначе клиенты получат страницу с ошибкой, а также, если вы добавите его в свою цепочку, это будет просто дополнительными накладными расходами для установление SSL-соединений, так как они должны передаваться для каждого нового сеанса SSL. На самом деле у большинства клиентов также будут установлены промежуточные сертификаты CA, но у некоторых может не быть, например на мобильных телефонах не так много промежуточных сертификатов ЦС, поэтому я бы обязательно добавил их.
В /etc/apache2/cert/ssl.key
файл останется прежним, то есть он будет содержать ключ для сертификата yourdomain.com
Ладно, наконец-то разобрался в последнее время и решил выложить подробности в форме ответа.
Теперь StartSSL помещает сертификат в zip-архив, когда вы его извлекаете, и там много включенных архивов, один из которых особенно интересен ApacheServer.zip
, форма, совместимая с Apache> 2.4. Файлы в папке Apache:
1_root_bundle.crt
2_myhost.tld.crt
Вы должны заварить SSLCertificateFile
из обоих сертификатов, но в таком порядке:
cat 2_myhost.tld.crt 1_root_bundle.crt > myhost.tld_combined.crt
Итак, в конфиге сайта будет просто:
SSLCertificateFile /etc/apache2/cert/myhost.tld_combined.crt
SSLCertificateKeyFile /etc/apache2/cert/myhost.tld.key
И все будет хорошо, даже Qualys SSL Test.
Это работает для StartCom StartSSL, а также для сертификатов WoSign. Формат такой же.