| ||||
| ||||
Суть проблемы в следующем: С использованием вашего тестового ЦС сделано и установлено 2 серверных сертификата (аутентификация сервера). Один сертификат использует ГОСТ Р 34.10-2001 (512) public key, второй сертификат RSA (512) public key. Во всем остальном сертификаты одинаковы. Для выявления проблемы сделано тестовое клиент-серверное приложение. На стороне сервера под IIS крутится web-служба. IIS настроен таким образом, что требует SSL, но использует только серверный сертификат (ignore client certificate). На стороне клиента крутится приложение, которое по таймеру с некоторым интервалом обращается к службе. Вызывающий код: private void timer1_Tick(object sender, System.EventArgs e) { try { time = srv.GetServerDateTime(); param = srv.GetConfigParam("SecSystemOn"); counter++; txtCounter.Text = counter.ToString(); this.Refresh(); } catch(Exception ex) { timer1.Enabled = false; MessageBox.Show(ex.Message); } } Циклически происходит два обращения к методам одной и той же web-службы. Результаты: При использовании сертификата с RSA public key, спокойно доходит до 100 циклов (т.е. 200 обращений) при использовании интервала таймера 5 сек и 1 сек. Т.е. каждую секунду генерируется два вызова. Ни разу не падало. При использовании сертификатат с ГОСТ public key, ни разу не перешло границу в 20 вызовов (единичный случай). Обычно падает на 7-8 цикле. При этом интервал вызовов увеличен – 5 сек, 8 сек, 10 сек. Ошибки самые разнообразные: StackOverflow in system.dll NullReferanseException in mscorelib.dll IO.Exception: Could not create transport connection. Был бы очень признателен за советы и комментарии, т.к. ситуацию надо решать и при этом задействовать ГОСТ. | ||||
Ответы: | ||||
| ||||
Какая версия CSP? Существует проблема в реализации ssl в .Net. Есть private hotfix от MS. А если установлено CSP 3.0, то имеет смысл установить КриптоПро Winlogon | ||||
| ||||
На сервере КС1 3.0.3300.2. На клиенте 2.0. Ошибки происходят на клиенте. Если это же самое тестовое приложение запустить прямо на сервере, то оно просто виснет в районе 10 цикла. В логах IIS видно, что происходят обращения к службе. Каждому обращению соответствуют нескользко записей - два без учетных данных пользователя - получают ошибку 401. А затем, третье - с учетными данными - получает ответ 200 (ок). Это нормальная ситуация, она описывается и у Microsoft и также работает на RSA сертификате. Только при установке ГОСТ-сертификата, эта цепочка обращений прерывается. Т.е. видно, что обращения шли, а потом внезапно останавливается на 401 (запрос без учетных данных) и клиент больше уже не запрашивает ничего. Программа при этом зависает - ждет ответа. Но при этом на сервер никто не стучится уже. Попробовали другого клиента с КС1 3.0.3300.2. Ситуация как и с сервером. Ошибок нет, но стучаться на сервер перестает. Можно поставить Winlogon на клиента, но при этом не использовать его для аутентификации? | ||||
| ||||
можно | ||||
| ||||
Спасибо, установка WinLogon помогла. Хотелось бы понять причины предыдущих трудностей и способ устранения. WinLogon подменяет какую-то библиотеку на более новую версию? Ведь кроме установки WinLogon никаие действия не выполнялись (ни изменение настроек, ни развертывание инфраструктуры). Возможно ли распространение в виде библиотек (dll) или только полноценный истрибутив? Это связанно с лицензированием и механизмом защиты? В случае развертывания клиент-серверной системы, потребуется установка CSP и WinLogon на каждого клиента? Есть ли для такого случая какой-то способ дистрибуции, чтобы не выполнять вручную установку setup на каждом клиенте? | ||||
| ||||
Повторюсь - есть ошибка в .Net реализации Ssl - и, как следствие, наведенная ошибка в нашей реализации Tls. C нашей стороны она исправлена в Winlogon (перевод любых версий CSP 3.0 на исправленный SSP/AP). Также есть hotfix MS, который, скорее всего, мы сможем предоставить. В SP для 3.0 это исправление включено только для КС2. Для 2.0 - исправлено в последних билдах. Вроде бы нет никаких проблем в совместной установке CSP и Winlogon (для последнего не нужно никаких лицензий, если не использовать функциональность входа в домен по scard, в некотором смысле это преSP для CSP) | ||||
| ||||
Добрый день, испытываем аналогичные проблемы с ssl, не подскажите-ли конкретное название hotfix от microsoft, исправляющего эту ошибку? | ||||
| ||||
Дмитрию. Отправил на e-mail | ||||
| ||||
А не могли бы и мне решенице кинуть? Спасибо | ||||
| ||||
Отправил. | ||||
| ||||
Здравствуйте! Сбросьте и мне пожалуйста на мэйл название (в идеале линк) этого хот-фикса от МС - та же проблема. | ||||
| ||||
И еще скажите, будет ли достаточно установки этой заплаты на клиентские машины или придется и WinLogon ставить? | ||||
| ||||
Либо хотфикс, либо WinLogon. Ответил на почту. | ||||
| ||||
Можно мне на почто тоже скинуть? | ||||
| ||||
Ответил на почту | ||||