2008-11-06 6 views
5

У меня есть уникальная ситуация, когда мне нужно внедрить аутентификацию сертификата клиента через HTTPS между браузером IE и IIS 6. Браузер и IIS разделены брандмауэром, который позволяет браузеру подключаться к IIS на порту SSL.Как сгенерировать сертификат клиента SSL из отключенной сети?

У нас есть внутренний сервер сертификатов в той же сети, что и IIS. Я создал сертификат SSL-сервера для IIS и установлен. Я настроил IIS только разрешить SSL, потребовать сертификаты клиентов.

Ограничение на использование браузера в отключенной сети, поэтому я не могу перейти на адрес http://caserver/CertSrv CA и request a client cert, как обычно.

Я понял, был ли способ создать CSR для открытого ключа Root CA, я могу скопировать его на сервер CA для создания сертификата клиента. Но, как представляется, в IE или в MMC сертификатах не предусмотрено никаких положений. Кажется, что MMC сертификатов требует прямого подключения к CA.

Кто-нибудь решил это раньше?

FYI, все серверы ссылки запустить Windows Server 2003.

Обновление: Благодаря Jonas Oberschweiber и Марк Саттон для указывая инструмент командной строки Certreq.exe. Используя это, я создал CSR и, следовательно, сертификат клиента, который успешно устанавливается. Однако IE, по-видимому, не отправляет этот сертификат клиента при доступе к серверу IIS, о котором идет речь; он по-прежнему генерирует 403,7 «Запрещенный: сертификат клиента SSL». Я подозреваю, что причина в том, что поле Subject сертификата клиента не соответствует идентификатору пользователя учетной записи, запущенной IE, поэтому, возможно, не отправляет несовпадающий клиентский сертификат. Тема совпадает с тем пользователем, которого я использовал для отправки CSR, и сгенерировать клиентский сертификат на другом конце брандмауэра.

Имеет ли значение поле Subject? Есть ли что-то еще, что мне нужно сделать, чтобы IE мог отправить этот сертификат?

ответ

0

Похоже, вы уже пробовали пару вещей, поэтому я предполагаю, что вы уже знаете об этом, но я все равно отправлю их на всякий случай: Certificate Command Line Tools. Я не уверен, однако, если они делают то, что вы хотите.

0

Перейдите на сайт http://caserver/CertSrv, который вы упомянули, используя третий компьютер, который может видеть сервер ЦС. Выберите третий вариант, загрузите сертификат CA, cert chai или CRL. На следующей странице выберите «Загрузить CA Certificate Chain», который загрузит файл p7b. Использование флеш-накопителя (или электронной почты и т. Д.) Переносит его на другой компьютер, который позволит вам импортировать его на доверенные корневые серверы в IE.

http://technet.microsoft.com/en-us/library/cc787796.aspx

+1

Я боюсь, что это не то, что я просил. Копирование по корневой цепи сертификации CA тривиально. Мне нужно создать сертификат клиента для отключенного компьютера. – spoulson 2008-11-07 12:45:13

1

Используйте команду Certreq на клиентском компьютере следующим

Certreq -new -f filein C: \ certrequest.req

Вот и пример filein

[ Версия] Подпись = "$ Windows NT $"

[NewRequest]
Тема = "CN = dc1.extranet.frbrikam.ком»
EncipherOnly = False
Exportable = False
Длина ключа = 1024
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
ТипЗапроса = КМЦ

[RequestAttributes] CertificateTemplate = TLSServer

Заменить CertificateTemplate с именем шаблона сертификата

После того, как у вас есть файл запроса вы должны принять его в центр сертификации на флешку и использовать веб-интерфейс регистрации, как обычно, для обработки файла запроса.

Верните выходной сертификат клиенту, чтобы открыть его и нажмите кнопку «Установить».

+0

Это сработало для создания CSR, а затем сертификата клиента. Я также могу установить сертификат на отключенном сервере. Но IE не распознает его в разделе Tools/Options/Cert/Personal, предположительно потому, что сертификат выдается идентификатору пользователя, который сгенерировал клиентский сертификат, а не идентификатор пользователя, который сгенерировал CSR. – spoulson 2008-11-07 14:57:32

0

Рекомендации по обновлению на всякий случай - что такое список доверенных сертификатов на сервере?

Объект DN, такой же, как имя пользователя Windows, никогда не был проблемой для меня, хотя я не очень много использую IIS. Однако где-то в IIS обязательно будет список доверенных сертификатов. Эта ошибка звучит для меня так же, как список доверенных сертификатов сервера не включает CA или корневой ЦС, выдавший сертификат клиента.

Это особенно верно, если вы никогда не получаете всплывающее окно выбора сертификата в IE при попадании на сервер IIS - даже если у вас есть сертификат, настроенный в вашем хранилище сертификатов IE. Это означает, что клиент попал на сервер, сервер предоставил список доверенных сертификатов, и у клиента не было сертификата, соответствующего этому списку. Таким образом, сеанс SSL перешел в состояние ошибки Forbidden.

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