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