|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
и на последней строке — тадааам: Error: The request was aborted: Could not create SSL/TLS secure channel. ЧЯДНТ? Фреймворки пробовал от 4.5 до 4.7.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 10:06 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
WebRequest он, как бы, несколько legacy, хотя формально так в API не помечен. Почему бы не попробовать переделать это на более модно-молодежный HttpClient? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 11:23 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
fkthat, Хотелось бы обойтись без смены классов, там до фига такого кода, который стоит поменять но только после запуска легаси версии. Переформулирую вопрос - если на https://shop.blackanddecker.ru/yandexmarket/index/bd зайти, то что там в ответе сайта такого несовместимого с жизнью HttpWebRequest? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 12:07 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior fkthat, Хотелось бы обойтись без смены классов, там до фига такого кода, который стоит поменять но только после запуска легаси версии. Переформулирую вопрос - если на https://shop.blackanddecker.ru/yandexmarket/index/bd зайти, то что там в ответе сайта такого несовместимого с жизнью HttpWebRequest? У меня вот так работает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Т.ч. дело тут где-то в ServicePointManager. Надо по нему docs читать. Он, похоже, использует какой-то "особенный" TLS. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 15:19 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
fkthat, А Вы под какой .NET собирали пример? Я полпробовал его под 4.7.2 собрать - пофигу, ошибка никуда не делась. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 00:11 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior fkthat, А Вы под какой .NET собирали пример? Я полпробовал его под 4.7.2 собрать - пофигу, ошибка никуда не делась. Проверил код fkthat , у мя тоже работает: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 00:28 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Очень сильно подозреваю, что дело вот в этом: https://docs.microsoft.com/en-us/dotnet/api/system.net.servicepointmanager?view=netframework-4.7.2 The .NET Framework 4.6 includes a new security feature that blocks insecure cipher and hashing algorithms for connections. Applications using TLS/SSL through APIs such as HttpClient, HttpWebRequest, FtpWebRequest, SmtpClient, SslStream, etc. and targeting .NET Framework 4.6 get the more-secure behavior by default. Developers may want to opt out of this behavior in order to maintain interoperability with their existing SSL3 services or TLS w/ RC4 services. This article explains how to modify your code so that the new behavior is disabled. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 03:43 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Из статьи автор С помощью файла AppConfig для приложения: добавьте следующую строку к файлу Appconfig: < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ > Не совсем ясно куда в моем клиентском app.config добавлять эту строку. Есть идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 10:33 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
проблема еще может быть в кривом времени на компьютере автора ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 10:35 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior Не совсем ясно куда в моем клиентском app.config добавлять эту строку. Есть идеи? Я думаю, что если там явно не сказано куда, то сразу же под "<configuration>". Только если у тебя ASP.NET, то, конечно же, нужен не App.Config, а Web.config. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 10:55 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Добавил Код: c# 1. 2. 3. 4.
прямо перед WebRequest.Create() - пофигу, при чтении результата по-прежнему получаю "The request was aborted: Could not create SSL/TLS secure channel." Фреймворк выставил в 4.8, время и дата +-1 минута совпадает с GMT+3 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 11:03 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior, У меня работает вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Попробуй убрать SSL3 - оно же даже ворнинг "Obsolete" на него выдает еще в VS и при компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 12:03 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
fkthat У меня работает вот так: Пофигу, все та же ошибка. У меня OS - Win Server 2012R2 x64, VS2019 v16.7.7 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 12:53 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Попробовал под Core 3.1 собрать и запустить - ошибка поменялась - "The message received was unexpected or badly formatted." Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 13:09 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Проверил на dotnetfiddle под Core 3.1 - работает. Под 4.7.2 при запуске там же ловлю Run-time exception (line 15): Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. Stack Trace: [System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.Net.ServicePointManager.set_ServerCertificateValidationCallback(RemoteCertificateValidationCallback value) at ConsoleAppCore1.Program.Main(String[] args) :line 15 Только мне это под обычный .NET надо и на моей машине. Как можно понять что МОЕМУ .NET не нравится? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 13:23 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior, Вот же блин. Запустил твой крайний код у себя под 4.7.2 и все работает. Похоже у тебя дело вообще не не в коде и не в дотнет. У тебя просто в браузере вообще этот URL открывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 14:40 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
fkthat, А то! В ФФ и хроме пулей открывается. Более того, эта проблема не только на моей машине меет место быть, а еще миниммум на 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 17:08 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
Landwarrior fkthat, А то! В ФФ и хроме пулей открывается. Более того, эта проблема не только на моей машине меет место быть, а еще миниммум на 3. Какие-нибудь прокси и прочие нестандартности сети у вас есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 17:30 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
fkthat Landwarrior fkthat, А то! В ФФ и хроме пулей открывается. Более того, эта проблема не только на моей машине меет место быть, а еще миниммум на 3. Какие-нибудь прокси и прочие нестандартности сети у вас есть? Нет, и моя машина с остальными 3 в разных сетях вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 17:34 |
|
HttpWebRequest GetResponse() и несварение SSL протокола
|
|||
---|---|---|---|
#18+
[quot Landwarrior#22222175]Под 4.7.2 при запуске там же ловлю Run-time exception (line 15): Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. Stack Trace: [System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.Net.ServicePointManager.set_ServerCertificateValidationCallback(RemoteCertificateValidationCallback value) at ConsoleAppCore1.Program.Main(String[] args) :line 15 Ты это ловишь потому что CAS (Code Access Security) . На фиддле оно там, очевидно, выполняет код без full-trust. Т.ч. это никакой информации не даёт - локально ты если и словишь ошибку, то другую. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 18:01 |
|
|
start [/forum/topic.php?fid=18&msg=40012742&tid=1354611]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 137ms |
0 / 0 |