Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
После установки КриптоПро CSP 3.6 R4 перестали работать https-соединения в .NET
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,389 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Сказал «Спасибо»: 35 раз Поблагодарили: 713 раз в 618 постах
|
Попробовал и x64 и обновление с перезагрузкой R2 на R4 - не воспроизводится... |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.02.2014(UTC) Сообщений: 7 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png)
|
У меня это воспроизводилось на двух машинах. https именно с серверным сертификатом. да - сам сертификат был не валидный. Если будет возможность - попробую сделать образ.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,389 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Сказал «Спасибо»: 35 раз Поблагодарили: 713 раз в 618 постах
|
А вот с этого места поподробнее. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.02.2014(UTC) Сообщений: 7 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png)
|
С какого именно? И что расписать подробнее?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,389 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Сказал «Спасибо»: 35 раз Поблагодарили: 713 раз в 618 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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)? Сертификат дать не могу.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,389 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Сказал «Спасибо»: 35 раз Поблагодарили: 713 раз в 618 постах
|
Да, при наличии библиотеки pkivalidator, мы дополняем алгоритм проверки сертификата. Видимо в нем есть ошибка( А почему не можете дать сертификат? workaround: Удалите регистрацию: CLSID\\{1FDD1FC3-6347-49DF-BDAB-E465BF32AD92}\\InprocServer32 |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,389 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: КРИПТО-ПРО Сказал «Спасибо»: 35 раз Поблагодарили: 713 раз в 618 постах
|
|
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
После установки КриптоПро CSP 3.6 R4 перестали работать https-соединения в .NET
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close