Мой коллега написал софтину которая работает с сайтом Х на который отправляет post, get запросы. Софтину благополучно передали заказчику а товарищ уехал на пару недель в отпуск в такие дебри где интернетом и не пахнет. Перед отъездом коды в репозиторий не залил, а прога перестала работать с сайтом. Есть подозрение что в программе реализован tls 1.1 а сайт уже начал работать с 1.2 (версию ТЛС проверили сниффером, таки 1.2). Поможет ли установка на клиенстком компе фреймворка 4.5 или же только правка исходников проги?
Установка на клиенте не поможет. Или поднять версию фреймворка в проекте до 4.5 (и молиться чтобы все пакеты работали после апгрейда), или одной строчкой кода принудительно выставлять версию.
codex 17.07.2018 19:30 пишет: Установка на клиенте не поможет. Или поднять версию фреймворка в проекте до 4.5 (и молиться чтобы все пакеты работали после апгрейда), или одной строчкой кода принудительно выставлять версию.
спасибо за инфу, но увы исходников нет. А хекс редактором можно в экзешнике это поменять? Исходники в лучшем случае через 2 недели появятся.
Только правка. Заочно трудно сказать, что там наваял коллега, но в с#, в классическом примере https клиента, версия шифрования указывается прямо в исходнике. Править бинарник - не реально. Но рукастому программеру, если программа не сильно сложная, может получиться декомпилировать бинарник, поправить версию шифрования и собрать обратно.
// enable Tls12, if possible if (!ServicePointManager.SecurityProtocol.HasFlag((SecurityProtocolType)3072){ if (platformSupportsTls12){ Console.WriteLine("Platform supports Tls12, but it is not enabled. Enabling it now."); ServicePointManager.SecurityProtocol |= (SecurityProtocolType)3072; } else { Console.WriteLine("Platform does not supports Tls12."); } }
// disable SSL3. Has no negative impact if SSL3 is already disabled System.Net.ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3;
Ну собственно та-же строчка кода для включения. Надо менять исходники. Вот эти все проверки имхо избыточны. Программа просто не запустится на 3.5, если скомпилена под 4.0.
codex 18.07.2018 12:29 пишет: Ну собственно та-же строчка кода для включения. Надо менять исходники. Вот эти все проверки имхо избыточны. Программа просто не запустится на 3.5, если скомпилена под 4.0.
дело в том что программа скомпиленна под 4.0, на компе у клиента стоит винда 10 и там по его словам фрейм ворк 4.7.1. Программа запускается но после запуска ее в работу начинает в логи писать сообщения о том что сервер разорвал соединение,+ Базовое соединение закрыто: Непредвиденная ошибка при передаче.
дело в том что программа скомпиленна под 4.0, на компе у клиента стоит винда 10 и там по его словам фрейм ворк 4.7.1. Программа запускается но после запуска ее в работу начинает в логи писать сообщения о том что сервер разорвал соединение,+ Базовое соединение закрыто: Непредвиденная ошибка при передаче.
Имхо, несоответствие протоколов тут вообще ни при чом, - рвать былоб нечего, т.к. соединение бы просто не устанавливалось. Т.е. у них чото еще поменялось - текст/формат запросов и тп.
дело в том что программа скомпиленна под 4.0, на компе у клиента стоит винда 10 и там по его словам фрейм ворк 4.7.1. Программа запускается но после запуска ее в работу начинает в логи писать сообщения о том что сервер разорвал соединение,+ Базовое соединение закрыто: Непредвиденная ошибка при передаче.
Имхо, несоответствие протоколов тут вообще ни при чом, - рвать былоб нечего, т.к. соединение бы просто не устанавливалось. Т.е. у них чото еще поменялось - текст/формат запросов и тп.
будем проверять, накидал клиенту парочку функций в отладочной утилите, жду логов от него.
kvadjagan 18.07.2018 12:56 пишет: дело в том что программа скомпиленна под 4.0, на компе у клиента стоит винда 10 и там по его словам фрейм ворк 4.7.1. Программа запускается но после запуска ее в работу начинает в логи писать сообщения о том что сервер разорвал соединение,+ Базовое соединение закрыто: Непредвиденная ошибка при передаче.
Установленный фреймворк не имеет никакого значения. Я с этим сталкивался уже. Симптомы знакомые. Надо в коде прописать протокол. По-другому никак.
kvadjagan 18.07.2018 12:56 пишет: дело в том что программа скомпиленна под 4.0, на компе у клиента стоит винда 10 и там по его словам фрейм ворк 4.7.1. Программа запускается но после запуска ее в работу начинает в логи писать сообщения о том что сервер разорвал соединение,+ Базовое соединение закрыто: Непредвиденная ошибка при передаче.
Установленный фреймворк не имеет никакого значения. Я с этим сталкивался уже. Симптомы знакомые. Надо в коде прописать протокол. По-другому никак.