Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2007(UTC) Сообщений: 152 Откуда: Екатеринбург
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Василий Дементьев  Кросс-сертификат не надо ставить в хранилище "Доверенные корневые ЦС". Его надо ставить в хранилище "Промежуточные ЦС" локального компьютера. Чтобы клиент почуял изменения на сервере - нужно: либо зайти в оснастку управления IIS - "Изменить привязки" ("Edit bindings") - и заново выбрать тот же сертификат сервера (например, убрать сертификат и заново поставить). либо перезагрузить сервер (саму ОС)
iisreset не помогает, потому что iis 7 использует криптографию режима ядра при шифровании трафика, а перезапуск служб iis не влияет на это. Да, я все это знаю (правда, я обычно перезапускаю службу http). Однако, как я написал в первом посте, это не помогает. Вот на сервере стоят "UC SKB Kontur (Root)" (в Trusted roots) и "UC SKB Kontur (K10)" (в Intermediate CAs): Код:C:\Program Files\Crypto Pro\CSP>csptest -tlsc -server cs.kontur-extern.ru -v -v -nocheck | grep -i (root)
CA issuer : E=ca@skbkontur.ru, C=RU, L=Екатеринбург, O=ЗАО <ПФ <СКБ Контур>, CN=UC SKB Kontur (Root)
Issuer 1: E=ca@skbkontur.ru, C=RU, L=Екатеринбург, O=ЗАО <ПФ <СКБ Контур>, CN=UC SKB Kontur (Root)
C:\Program Files\Crypto Pro\CSP>csptest -tlsc -server cs.kontur-extern.ru -v -v -nocheck | grep -i (k10)
C:\Program Files\Crypto Pro\CSP>
Как видите, если сертификат стоит в промежуточных на сервере, то его нет среди издателей в поле certificate_authorities сообщения CertificateRequest. Но меня сейчас уже больше интересует правильность мыслей из второго моего поста в этой теме (про построение цепочек). Т.к. на все сервера не наставишься своих корней. Тем более, на государственные порталы, т.к. с государством иметь дело - дохлый номер. Вот, давайте на конкретном примере. Есть портал ФСФМ: https://portal.fedsfm.ru:8081/account/login.aspx Код:C:\Program Files\Crypto Pro\CSP>csptest -tlsc -server portal.fedsfm.ru -port 8081 -v -v -nocheck | grep -E -i "^Issuer +[0-9]"
Issuer 0: ОГРН=1047708022548, ИНН=007708234633, E=uc@fedsfm.ru, C=RU, L=Москва, O=Росфинмониторинг, CN=УЦ Росфинмониторинга
Issuer 1: ИНН=007710474375, ОГРН=1047702026701, E=dit@minsvyaz.ru, STREET=125375 г. Москва ул. Тверская д.7, O=Минкомсвязь России, L=Москва, S=77 г. Москва, C=RU, CN=УЦ 1 ИС ГУЦ
Issuer 2: E=dit@minsvyaz.ru, C=RU, S=77 г. Москва, L=Москва, STREET="125375 г. Москва, ул. Тверская, д. 7", O=Минкомсвязь России, ОГРН=1047702026701, ИНН=007710474375, CN=Головной удостоверяющий центр
Issuer 3: DC=com, DC=microsoft, CN=Microsoft Root Certificate Authority
Issuer 4: OU=Copyright (c) 1997 Microsoft Corp., OU=Microsoft Corporation, CN=Microsoft Root Authority
Issuer 5: C=US, O="VeriSign, Inc.", OU=VeriSign Trust Network, OU="(c) 2006 VeriSign, Inc. - For authorized use only",CN=VeriSign Class 3 Public Primary Certification Authority - G5
Issuer 6: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
Issuer 7: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA
Issuer 8: C=US, O=GTE Corporation, OU="GTE CyberTrust Solutions, Inc.", CN=GTE CyberTrust Global Root
Issuer 9: C=US, O="VeriSign, Inc.", OU=Class 3 Public Primary Certification Authority
Issuer 10: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
C:\Program Files\Crypto Pro\CSP>
У них стоит корень УЦ 1 ИС ГУЦ. Отлично, значит, если у них стоят кроссы моего УЦ, то меня пустит к ним. Удаляю корень своего УЦ, захожу на портал. IE предлагает мне выбрать клиентский сертификат (корень УЦ 1 ИС ГУЦ и кроссы моего УЦ у меня уже стоят), я выбираю и меня пускают (а значит, у них точно стоит наш кросс) Ставлю обратно корень моего УЦ. Захожу на https://portal.fedsfm.ru:8081/account/login.aspx и меня тут же отбривают ошибкой "403 - запрещено. Доступ запрещен.", т.к. IE не предъявил сертификат, потому что моего УЦ нет в доверенных корневых на сервере и IE не из чего выбирать. Вопрос простой - как мне попасть https://portal.fedsfm.ru:8081/account/login.aspx, при условии, что корневой сертификат моего УЦ стоит у меня в хранилище довереренных корневых сертификатов? И действительно ли, выбором сертификата подходящего для клиентской аутентификации (в учетом certificate_authorities сообщения CertificateRequest) рулит конкретный криптопровайдер с конкретным алгоритмом выбора; и в стандартном виндовом криптопровадере при этом реализован перебор всех возможных цепочек доверия, или мне просто повезло в моих экспериментах, которые я описал в посте выше? Отредактировано пользователем 15 октября 2013 г. 7:39:07(UTC)
| Причина: Не указана
|