logo Наши способы организации безопасного удалённого доступа к рабочим местам и корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline naa  
#1 Оставлено : 10 февраля 2014 г. 15:51:21(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

Проблема наблюдается именно из приложения .NET Во всех браузерах соединение устанавливается нормально.
Основные признаки: соединение устанавливается, приложение начинает загружать процессор ~25-50% и начинает расти потребление памяти до out of memory. Получить ответ от сервера не удается.
https c серверным сертификатом RSA. После деинсталляции КриптоПро проблема исчезает.

В какую сторону надо копать?

Offline Максим Коллегин  
#2 Оставлено : 10 февраля 2014 г. 16:09:08(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
Спасибо за обратную связь, а можно примерчик для воспроизведения?
Знания в базе знаний, поддержка в техподдержке
Offline naa  
#3 Оставлено : 11 февраля 2014 г. 9:52:46(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

А какой именно пример надо? Если пример кода, то он самый обычный:

Код:

    class Program
    {
        static void Main(string[] args)
        {
            ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => 
            { 
                return false; 
            };

            Console.WriteLine("Send query...");
            try
            {
                WebClient client = new WebClient();
                client.DownloadString("https://<любой https-адрес/");
            }
            catch (Exception exception)
            {
                Console.WriteLine("Exception: {0}", exception.ToString());
            }
            Console.ReadLine();
        }
    }



Да, проблема решилась downgrad'ом на версию R2.
Offline Максим Коллегин  
#4 Оставлено : 11 февраля 2014 г. 11:30:51(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
Revocation Provider устанавливали?
Знания в базе знаний, поддержка в техподдержке
Offline naa  
#5 Оставлено : 11 февраля 2014 г. 11:40:27(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

Ставилось все по умолчанию. На сколько я понял инсталлятор не дает выбирать компоненты при обновлении старой версии на новую. По крайней мере в R4. Возможно Revocation Provider и был установлен, но к сожалению проверить это в данный момент не могу.
Offline Андрей Писарев  
#6 Оставлено : 11 февраля 2014 г. 11:41:07(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,094
Мужчина
Российская Федерация

Сказал «Спасибо»: 334 раз
Поблагодарили: 1310 раз в 1023 постах
Автор: maxdm Перейти к цитате
Revocation Provider устанавливали?


Автор: naa Перейти к цитате

https c серверным сертификатом RSA. После деинсталляции КриптоПро проблема исчезает.

В какую сторону надо копать?



Спрошу и здесь: а зачем?

Техническую поддержку оказываем тут
Наша база знаний
Offline naa  
#7 Оставлено : 11 февраля 2014 г. 11:45:30(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

Что "зачем"? Зачем обновляли старую версию КриптоПро на новую?
Offline Максим Коллегин  
#8 Оставлено : 11 февраля 2014 г. 11:52:59(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
У меня пока не получилось воспроизвести. Другие криптографические продукты установлены?

Отредактировано пользователем 11 февраля 2014 г. 11:55:29(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline naa  
#9 Оставлено : 11 февраля 2014 г. 11:55:34(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

Нет, только КриптоПро CSP 3.6 R4. Система: Windows 7 Professional 64x
Offline Андрей Писарев  
#10 Оставлено : 11 февраля 2014 г. 12:21:32(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 9,094
Мужчина
Российская Федерация

Сказал «Спасибо»: 334 раз
Поблагодарили: 1310 раз в 1023 постах
Автор: naa Перейти к цитате
Что "зачем"? Зачем обновляли старую версию КриптоПро на новую?


Вопрос был не к Вам.
Интересует зачем ставить Revocation Provider при использовании RSA и о его влиянии на https в .NET
Техническую поддержку оказываем тут
Наша база знаний
Offline Максим Коллегин  
#11 Оставлено : 11 февраля 2014 г. 14:02:42(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
Попробовал и x64 и обновление с перезагрузкой R2 на R4 - не воспроизводится...
Знания в базе знаний, поддержка в техподдержке
Offline naa  
#12 Оставлено : 11 февраля 2014 г. 14:35:21(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

У меня это воспроизводилось на двух машинах. https именно с серверным сертификатом. да - сам сертификат был не валидный. Если будет возможность - попробую сделать образ.
Offline Максим Коллегин  
#13 Оставлено : 11 февраля 2014 г. 14:40:16(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
А вот с этого места поподробнее.
Знания в базе знаний, поддержка в техподдержке
Offline naa  
#14 Оставлено : 11 февраля 2014 г. 14:47:06(UTC)
naa

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2014(UTC)
Сообщений: 7
Российская Федерация

С какого именно? И что расписать подробнее?
Offline Максим Коллегин  
#15 Оставлено : 11 февраля 2014 г. 14:56:13(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
Например, сертификат выложите.

Отредактировано пользователем 11 февраля 2014 г. 14:59:07(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline rodji  
#16 Оставлено : 21 февраля 2014 г. 17:31:23(UTC)
rodji

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2014(UTC)
Сообщений: 1

Та же самая проблема. Ключ RSA 2048. Путь сертификации "thawte"->"Thawte DV SSL CA"->xxx. Сертификат просрочен. .NET виснет в: сallstack:

> System.dll!System.Net.PolicyWrapper.GetChainErrors(string hostName, System.Security.Cryptography.X509Certificates.X509Chain chain, ref bool fatalError) Line 84 + 0xd bytes C#
System.dll!System.Net.PolicyWrapper.CheckErrors(string hostName, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) Line 43 + 0x10 bytes C#
System.dll!System.Net.CertPolicyValidationCallback.Invoke(string hostName, System.Net.ServicePoint servicePoint, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Net.WebRequest request, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) Line 38 + 0x21 bytes C#
System.dll!System.Net.ServicePoint.HandshakeDoneProcedure.CertValidationCallback(string hostName, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) Line 1221 + 0x147 bytes C#
System.dll!System.Net.Security.SecureChannel.VerifyRemoteCertificate(System.Net.Security.RemoteCertValidationCallback remoteCertValidationCallback) Line 812 + 0x19 bytes C#
System.dll!System.Net.Security.SslState.CompleteHandshake() Line 286 + 0x24 bytes C#

Немного исходников самого .NET:
PolicyWrapper.cs (System.dll)

internal static uint VerifyChainPolicy(SafeFreeCertChain chainContext, ref ChainPolicyParameter cpp)
{
ChainPolicyStatus ps = new ChainPolicyStatus {
cbSize = ChainPolicyStatus.StructSize
};
UnsafeNclNativeMethods.NativePKI.CertVerifyCertificateChainPolicy((IntPtr) 4L, chainContext, ref cpp, ref ps);
return ps.dwError;
}


private unsafe uint[] GetChainErrors(string hostName, X509Chain chain, ref bool fatalError)
{
......................
Label_006B:
errorCode = VerifyChainPolicy(chainContext, ref cpp);
uint num2 = (uint) MapErrorCode(errorCode);
list.Add(errorCode);
if (errorCode != 0)
{
if (num2 == 0)
{
fatalError = true;
}
else
{
cpp.dwFlags |= num2;
if ((errorCode == 0x800b010f) && ServicePointManager.CheckCertificateName)
{
ssl_extra_cert_chain_policy_para.fdwChecks = 0x1000;
}
goto Label_006B; //всегда вызывается этот оператор goto
}
}
.....................

VerifyChainPolicy() всегда возращает один и тот же код 0x800b0101 (CertificateProblem.CertEXPIRED).

После удаления КриптоПРО CSP всё работает отлично.
Версия ядра СКЗИ: 3.6.5364 KC1
Версия продукта: 3.6.7491

Возможно, Вы изменили криптопровайдером логику функции CertVerifyCertificateChainPolicy (crypt32.dll)?
Сертификат дать не могу.
Offline Максим Коллегин  
#17 Оставлено : 21 февраля 2014 г. 17:36:31(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
Да, при наличии библиотеки pkivalidator, мы дополняем алгоритм проверки сертификата. Видимо в нем есть ошибка(
А почему не можете дать сертификат?
workaround: Удалите регистрацию: CLSID\\{1FDD1FC3-6347-49DF-BDAB-E465BF32AD92}\\InprocServer32
Знания в базе знаний, поддержка в техподдержке
Offline Максим Коллегин  
#18 Оставлено : 3 марта 2014 г. 20:39:05(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,887
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 578 раз в 519 постах
В ближайшие релизы CSP 3.9 и 4.0 исправление будет включено, а также в Browser Plugin. Вот предварительная сборка:
https://www.cryptopro.ru.../prerelease/CSPSetup.exe

Отредактировано пользователем 28 мая 2014 г. 7:07:27(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.