Есть ли способ настроить IIS, чтобы сообщить нам, что мы получили сертификат ненадежного клиента?

У нас есть конечная точка Web API, настроенная для разрешения, но не обязательного использования клиентских сертификатов.

Мы регистрируем полученный сертификат, затем проверяем, что это именно то, что мы ожидаем, регистрируем результат, а затем либо разрешаем доступ, либо возвращаем 403.

Проблема в том, что если клиент отправляет сертификат, который не подписан доверенным корневым центром, мы, похоже, вообще не получаем сертификат.

Я предпочел бы иметь возможность регистрировать, какой сертификат мы получили, а затем регистрировать, что он не был подписан, а затем возвращать 403 вместо того, чтобы просто регистрировать, что сертификат не был предоставлен.

Есть ли что-то, что я могу настроить в IIS, чтобы разрешить это?


В комментарии говорится, что это обычно называют "самозаверяющим сертификатом", и в этом нет смысла, поэтому я не должен быть ясным.

Нет никакой разницы между сертификатом, подписанным доверенным корневым центром, и сертификатом, подписанным пользователем, за исключением того, что открытый ключ доверенного корневого органа должен быть установлен как доверенный корневой орган по умолчанию.

Предположим, пользователь создал свой собственный сертификат подписи, использовал его для подписи сертификата клиента и прикрепил этот сертификат к http-запросу, но не добавил свой сертификат подписи в доверенные органы сервера?

То, что я вижу, это то, что сертификат удаляется, так что для контроллера конечной точки выглядит, что сертификат не был прикреплен.

Это означает, что мое ведение журнала на стороне сервера не может различить случай, когда сертификат не был предоставлен, или когда был предоставлен ненадежный сертификат.

Я хотел бы иметь возможность регистрировать различные сообщения об ошибках для этих двух случаев.

0 ответов

Другие вопросы по тегам