Назад | Перейти на главную страницу

Проверка клиентов HTTPS с сертификатами, подписанными другими ЦС, кроме ЦС сервера

У меня есть веб-сервер apache, ssl, на котором есть сертификат сервера, подписанный надежным официальным центром сертификации. Могу ли я настроить apache ssl для приема клиентов с действительными сертификатами, подписанными ЦС, отличными от ЦС, подписавшего сертификат сервера?

Я получаю ssl_error_unknown_ca_alert хотя я настроил другие центры сертификации в apache, и сервер запустился без ошибок. Я создал файл, содержащий сертификат ЦС ЦС, подписавшего сертификат сервера, и другие сертификаты ЦС, которым я хочу доверять. Затем я указал на SSLCertificateChainFile директива к этому файлу.

Я использую Apache 2.2.22

Редактировать:

я использую
SSLCertificateFile указывая на сертификат сервера
SSLCertificateKeyFile установка на ключ сервера
SSLCertificateChainFile указывая на цепочку сертификатов, которая подписала сертификат сервера
SSLCACertificateFile указывая на файл со всеми цепочками сертификатов, которые я хочу принять

SSLVerifyClient require
SSLVerifyDepth  1

Apache распознает их все в журнале, когда я перезапускаю сервер, и ошибок нет. Тем не менее, у меня все еще есть ssl_error_certificate_unknown_alert ошибка. Я также подтвердил, что цепочка сертификатов клиента присутствует в SSLCACertificateFile путем сравнения текста в Meld.

Выяснил в чем проблема. Сертификат подписан цепочкой из 3 центров сертификации, и я установил SSLVerifyDepth на 1. Установите его на 10, и он сработал.

Я считаю, что вам нужен каталог, содержащий сертификаты, которые вы хотите использовать. Возможно, вам понадобится использовать магию SSL для создания символических ссылок для сертификатов. Видеть mod_ssl SSLCACertificatePath Правильное использование или лучший способ обработки нескольких допустимых центров сертификации сертификатов клиентов для необходимых команд.