У меня есть уникальная ситуация, когда мне нужно реализовать аутентификацию клиентского сертификата через HTTPS между браузером IE и IIS 6. Браузер и IIS разделены брандмауэром, который позволяет браузеру подключаться к IIS только через порт SSL.
У нас есть внутренний сервер сертификатов в той же сети, что и IIS. Я создал сертификат сервера SSL для IIS, и он установлен. Я настроил IIS, чтобы разрешать только SSL, требовать клиентские сертификаты.
Ограничение здесь заключается в том, что компьютер с браузером находится в отключенной сети, поэтому я не могу перейти на http://caserver/CertSrv центра сертификации. a> и запросите сертификат клиента, как обычно.
Я подумал, что если бы я мог сгенерировать CSR для открытого ключа корневого центра сертификации, я мог бы скопировать его на сервер центра сертификации для создания сертификата клиента. Но, похоже, в IE или сертификатах MMC нет возможности сделать это. Кажется, что MMC сертификатов требует прямого подключения к ЦС.
Кто-нибудь решил это раньше?
К вашему сведению, все упомянутые серверы работают под управлением Windows Server 2003.
Обновление: спасибо Джонасу Обершвайберу и Марку Саттону за указание на инструмент командной строки CertReq.exe. Используя это, я сгенерировал CSR и, следовательно, клиентский сертификат, который успешно устанавливается. Однако IE, по-видимому, не отправляет этот сертификат клиента при доступе к рассматриваемому серверу IIS; он по-прежнему генерирует ошибку 403.7 «Запрещено: требуется сертификат клиента SSL». Я подозреваю, что причина в том, что поле «Тема» сертификата клиента не соответствует идентификатору пользователя учетной записи, на которой работает IE, поэтому, возможно, не отправляется несоответствующий сертификат клиента. Субъект совпадает с субъектом пользователя, которого я использовал для отправки CSR и создания сертификата клиента на другом конце брандмауэра.
Имеет ли значение поле Тема? Есть ли что-то еще, что мне нужно сделать, чтобы IE мог отправить этот сертификат?