Я пытаюсь реализовать аутентификацию сертификата клиента в IIS 8. Я развернул свою конфигурацию на машине разработки и убедился, что она там работает должным образом. Однако после настройки на сервере всякий раз, когда я перехожу на сайт и получаю запрос на сертификат клиента, я выбираю его и сразу получаю ошибку 403.16. Журнал неудавшихся запросов содержит код ошибки 2148204809 и сообщение «Цепочка сертификатов обработана, но завершена корневым сертификатом, которому не доверяет поставщик доверия».
У меня есть действующий сертификат клиента, а также действующий сертификат CA. Сертификат CA устанавливается в доверенных корневых центрах на учетной записи компьютера как на сервере, так и на клиентском компьютере, а сертификат клиента устанавливается в личном разделе учетной записи текущего пользователя на клиентском компьютере.
Сертификат клиента подписан непосредственно корневым центром сертификации, и, как я уже сказал, оба действительны. В цепочке нет других сертификатов, и нет промежуточных сертификатов в области доверенных корневых органов.
В конфигурации IIS есть sslFlags = SslNegotiateCert, а iisClientCertificateMappingAuthentication включен.
Сервер не настроен для отправки CTL, и у нас есть SendTrustedIssuerList = 0.
Я не понимаю, почему нельзя доверять сертификату клиента.
У меня была точно такая же проблема. Это сработало для меня после того, как я проверил «Отключить списки отзыва сертификатов (CRL)» в свойствах самоподписанного сертификата в хранилище доверенных корневых центров сертификации локального компьютера.