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

AH01896: Не удалось определить список допустимых сертификатов ЦС для аутентификации клиента в директиве Apache v2.4 SSLCACertificatePath

Я использую Apache v2.4

В файле ssl.conf я использую SSLCACertificatePath директива с параметром вроде /var/dat/certificates/ssl.intermediate где ssl.intermediate - это пустой каталог со следующими разрешениями:

drwxr-xr-x  2 root   root 4096 Oct 23 23:10 ssl.intermediate

Теперь, когда я перезапускаю apache, я получаю следующую ошибку в журнале ошибок ssl:

[Чт, 23 октября, 23: 11: 08.706227 2014] [ssl: info] [pid 17421] AH02200: загрузка сертификата и закрытого ключа SSL-совместимого сервера 'somehost.com:443'

[Чт, 23 октября, 23:11: 08.706726 2014] [ssl: info] [pid 17421] AH01914: Настройка сервера somehost.com:443 для протокола SSL

[Чт, 23 октября, 23: 11: 08.706831 2014] [ssl: emerg] [pid 17421] AH01896: Не удалось определить список допустимых сертификатов CA для аутентификации клиента

заранее спасибо

Вам необходимо создать хеш-символическую ссылку для файла:

https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslproxycacertificatepath

Файлы в этом каталоге должны быть закодированы в формате PEM и доступны через хеш-имена файлов. Так что обычно вы не можете просто поместить туда файлы сертификатов: вам также необходимо создать символические ссылки с именем hash-value.N. И вы всегда должны убедиться, что этот каталог содержит соответствующие символические ссылки.

Так что каталог должен как минимум выглядеть

drwxr-xr-x  2 root   root 4096 Oct 23 23:10 ssl.intermediate
drwxr-xr-x  2 root   root 4096 Oct 23 23:10 ae002233.0 -> ssl.intermediate

Я обнаружил, что HTTP-сервер Apache 2.4 нарушил директиву SSLCADNRequestFile. Это позволило определить список допустимых центров сертификации помимо списка центров сертификации, используемых для аутентификации сертификата. Это необходимо, когда корневой ЦС делает приемлемым больше ЦС, чем требуется. SSLCADNRequestFile позволяет указать строго промежуточные центры сертификации, от которых сервер будет принимать выпущенные сертификаты.

Список SSACACertificateFile по-прежнему будет использоваться для аутентификации цепочки сертификатов, фактически используемой клиентом (и, следовательно, считающейся приемлемой для использования).

Чтобы не утверждать очевидное, но если вы не принимаете сертификаты клиентов (иначе этот каталог не был бы пустым, верно?), Почему бы вам просто не удалить вызывающую нарушение директиву из вашей конфигурации.