
Я пытаюсь загрузить сертификат сервера с godaddy, поэтому у меня есть xxxxxxx.crt и bundle.crt, я создал key/csr, который мы использовали для создания сертификатов. Сейчас я пытаюсь загрузить другой сертификат, так как телефон, который мы используем, должен установить связь с нашим сервером, а затем, надеюсь, обнаружить CA производителя для безопасного предоставления.
Моя первоначальная конфигурация выглядела так:
<VirtualHost ip.ip.ip.ip:443>
JkMount /* worker1
JkMount / worker1
ServerAdmin [email protected]
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 без ошибок, но попытка включить это прерывает перезапуск. Я делаю что-то невероятно глупое или мне нужно объединить сертификаты вместе?
решение1
Вы не можете загрузить два сертификата в один виртуальный хост. Это не имеет смысла.
Правило — один сертификат x509 на виртуальный хост.
Если вы хотите добавить центры сертификации в цепочку, подписавшую ваш сертификат, просто добавьте их в один файл SSLCACertificateFile.
Также имейте в виду, что в версии 2.4 вы можете просто пропустить SSLCACertificateFile и добавить всю цепочку сертификатов в SSLCertificateFile от листа до корня.
решение2
Я исправил предполагаемую проблему, отформатировав файл Polycom CA как PEM вместо DER, назначив его SSLCACertificateFile и внеся изменения;
SSLCertificateChainFile /path/path/gd_bundle-g2.crt
Теперь я получаю положительное рукопожатие от телефона к серверу и защищенные пакеты доставляются.