Я пытаюсь загрузить сертификат сервера от godaddy, поэтому есть xxxxxxx.crt и bundle.crt, я создал ключ / csr, который мы использовали для создания сертификатов. Сейчас я пытаюсь загрузить еще один сертификат, так как телефон, который мы используем, должен установить связь с нашим сервером, а затем, надеюсь, обнаружить ЦС производителя для безопасной подготовки.
Моя первоначальная конфигурация выглядела так:
<VirtualHost ip.ip.ip.ip:443>
JkMount /* worker1
JkMount / worker1
ServerAdmin email@email.co.uk
ServerName identifier.server.domain.co.uk
SSLEngine on
SSLVerifyClient require
SSLCertificateFile /path/path/XXXXXXXXxxxxxxx.crt
SSLCACertificateFile /path/path/gd_bundle-g2.crt
SSLCertificateKeyFile /path/path/polycom.key
SSLCertificateFile /path/path/Polycom_Root_CA.crt
SSLVerifyDepth 10
SSLOptions +ExportCertData
ErrorLog logs/identifier.server.domain.co.uk-error_log
CustomLog logs/identifier.server.domain.co.uk-access_log common
</VirtualHost>
Когда я закомментирую сертификат Polycom, я могу перезапустить httpd без ошибок, но попытка включить это прерывает перезапуск. Я делаю что-то невероятно глупое или мне нужно объединить сертификаты вместе?
Исправлена моя предполагаемая проблема, отформатировав файл CA Polycom как PEM вместо DER и сделав его SSLCACertificateFile, и внес изменения;
SSLCertificateChainFile /path/path/gd_bundle-g2.crt
Теперь я получаю положительное рукопожатие от телефона к серверу и безопасные пакеты доставлены.
Вы не можете загрузить два сертификата на один виртуальный хост. Это не имеет никакого смысла
Правило - один сертификат x509 на виртуальный хост.
Если вы хотите добавить CA в цепочку, которая подписала ваш сертификат, просто добавьте их в один файл SSLCACertificateFile.
Также имейте в виду, что в версии 2.4 вы можете просто пропустить SSLCACertificateFile и добавить всю цепочку сертификатов в SSLCertificateFile от листа до корня.