|
IIS-конфигурация
|
|||
---|---|---|---|
#18+
Добрый день, столкнулся с непонятной проблемой(Windows 2012, IIS 8) Есть самовыданный рут сертификат(установлен в CA), им подписан сертификат для IIS, а так же им выдан клиентский сертификат. Создан сайт допустим test.html В IIS стоит требовать сертификат (и указан в биндинге сертификат IIS) Обращаюсь к сайту IE просит выбрать сертификат, выбираю клиентский - все гуд. Потом по аналогии на виртуальной машине была проделона все тоже самое. Делаю запрос получаю 403.16. Можно ли где-либо в IIS указать логирование, чтобы увидеть какой клиентский сертификат пришел ему на вход? Что еще можно посмотреть почему IIS считает данный сертификат некорректным? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 10:25 |
|
IIS-конфигурация
|
|||
---|---|---|---|
#18+
INFINITsЧто еще можно посмотреть почему IIS считает данный сертификат некорректным? Для начала отключи требование о клиентском сертификате и убедить что просто https работает с серверным сертификатом. Если работает - то подключи обратно и убедись что клиентский сертификат импортирован в персональный certificate store с приватным ключом, сертификат без приватного ключа не будет принят. Если приватный ключ есть, а браузер все равно не работает - то сделай тестового клиента и сделай вызов напрямую в коде присоединив сертификат либо из хранилища либо из .pfx файла и посмотри работает или нет ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 13:29 |
|
IIS-конфигурация
|
|||
---|---|---|---|
#18+
stenfordДля начала отключи требование о клиентском сертификате и убедить что просто https работает с серверным сертификатом. Если работает - то подключи обратно и убедись что клиентский сертификат импортирован в персональный certificate store с приватным ключом, сертификат без приватного ключа не будет принят. Если приватный ключ есть, а браузер все равно не работает - то сделай тестового клиента и сделай вызов напрямую в коде присоединив сертификат либо из хранилища либо из .pfx файла и посмотри работает или нет Отключал требования - запрос проходит - все гуд. На локальной машине сертификат ипортирован с ключем(IE мне его предлагает выбрать) Через тестовый клиент пробовал указав чтение с pfx файла - такая же ошибка 403.16 Нужно ли что-то хитрое включать в IIS? Или может быть проблема в том что данная сборка на виртуальной машине, т.е. когда запрос летит на IIS, какая-нибудь фигня происходит с сертификатом? Эти же сертификаты и соседний комп и все гуд. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 02:01 |
|
IIS-конфигурация
|
|||
---|---|---|---|
#18+
INFINITsОтключал требования - запрос проходит - все гуд. На локальной машине сертификат ипортирован с ключем(IE мне его предлагает выбрать) Через тестовый клиент пробовал указав чтение с pfx файла - такая же ошибка 403.16 Нужно ли что-то хитрое включать в IIS? Или может быть проблема в том что данная сборка на виртуальной машине, т.е. когда запрос летит на IIS, какая-нибудь фигня происходит с сертификатом? Эти же сертификаты и соседний комп и все гуд. а IIS-то на виртуалке своя, или ты обращаешся к тому-же самому серверу, просто из виртуальной машины по сети? Если IIS другая, то возможны варианты... Например https://support.microsoft.com/en-us/help/2795828/lync-server-2013-front-end-service-cannot-start-in-windows-server-2012 скажем эта багофича IIS (как раз на 2012 винде) требует что-бы в Trusted Root Certification Authorities содержались только самоподписанные сертификаты. Т.е. поле Issued To и Issued By должны совпадать у _всех_ установленных там сертификатов. Если есть хоть один не самоподписанный - запросы не будут проходить, даже если с твоим собственным сертификатом все ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 02:55 |
|
IIS-конфигурация
|
|||
---|---|---|---|
#18+
stenfordа IIS-то на виртуалке своя, или ты обращаешся к тому-же самому серверу, просто из виртуальной машины по сети? Если IIS другая, то возможны варианты... Например https://support.microsoft.com/en-us/help/2795828/lync-server-2013-front-end-service-cannot-start-in-windows-server-2012 скажем эта багофича IIS (как раз на 2012 винде) требует что-бы в Trusted Root Certification Authorities содержались только самоподписанные сертификаты. Т.е. поле Issued To и Issued By должны совпадать у _всех_ установленных там сертификатов. Если есть хоть один не самоподписанный - запросы не будут проходить, даже если с твоим собственным сертификатом все ок. Получается мой комп - клиент(с клиентским сертификатом) Комп тестовый-сервер в локальной сети(WIndows 2012+IIS 8) все гуд работает. Комп на котором стоит VM внутри которой(WIndows 2012+IIS 8) не работает (Возможно что-то не доустанавливали, как бы VM конфигурил не я. Я только создал внутри IIS свой сайт слил сертификаты и поставил галку требовать от клиента) Выполнил команду: Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject} | Format-List * | Out-File "C:\dia.txt" В логе появился 1 сертификат (на тест-сервере его нет). У сертификата реально отличаются данные поля? Из-за этого может быть такая проблема? Спасибо за статью почитаю Как я понимаю данной командой его можно перенести Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject} | Move-Item -Destination Cert:\LocalMachine\CA ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 08:22 |
|
|
start [/forum/topic.php?fid=18&msg=39546464&tid=1355391]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 513ms |
0 / 0 |