Имя: Пароль:
1C
1С v8
HTTPСоединение и SSL connect error
0 lalex23
 
27.06.16
11:52
Есть два сервиса - рабочий и тестовый, разработка механизма работы с сервисом шла с тестовым, после отладки нужного функционала - переключился на рабочий и словил ошибку "Ошибка работы с Интернет:  SSL connect error", код примерно следующий:

    HTTPЗапрос = Новый HTTPЗапрос(ИмяСервиса);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлЗапроса);
    ПроксиСервер = Новый ИнтернетПрокси;
    Хост = "ххх";
    Порт = 443;
    Логин = "ллл";
    Пароль = "ппп";
    HTTPСоединение  = Новый HTTPСоединение(Хост, Порт, Логин, Пароль, ПроксиСервер, 15, Новый ЗащищенноеСоединениеOpenSSL);
    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос, ФайлОтвета);

Что разного между сервисами: хост, порт, логин, пароль, сертификаты безопасности на хостах и корневые удостоверяющие центры этих сертификатов различные, работа идёт на платформа 8.2.19.76.
Сертификат корневого удостоверяющего центра тестового сервера присутствует в cacert.pem, сертификата корневого удостоверяющего центра рабочего сервера в файле нет.
Запускаю конфигурацию на 8.2.19.130 - всё работает как часы, на 8.3.7.2027 аналогично. Что забавно - запускаю Fiddler, он встаёт как прокси и  и платформа 8.2.19.76 через него так же работает без проблем. cacert.pem подсовывал в 76 релиз и от 130 и от 8.3 - не работает.
Варианта вижу три:
1. переписывать на WinHttp - муторно приличное количество кода
2. обновляться на 8.2.19.130 - база в режиме 24/7, сотня с гаком пользователей плюс пять перифирий, главный сисадмин ещё неделю в отпуске
3. использовать Fiddler как прокси - костыли не люблю
Общественный разум предложит ещё варианты?
1 lalex23
 
27.06.16
13:18
похоже глухо...
2 4St
 
27.06.16
16:32
Правильный вариант 2.
Можно сделать времянку:поднять базу на 8.3 и работать через неё как com объект.
Или писать внешнюю компоненту.
3 4St
 
27.06.16
16:35
Со времён 8.2.19.76 были всякие heartbleed и прочие милые вещи, после чего большинство хостеров отключило старые уязвимые версии защищенных протоколов. А новые держатся в более свежих платформах. Скорей всего, проблема в этом.
4 Serginio1
 
27.06.16
16:42
5 lalex23
 
27.06.16
18:08
(2) прекрасно понимаю, что  вариант 2 оптимальный, но если бы получилось выкрутиться без обновления платформы - было бы замечательно
(4) спасибо, товарищ, если бы не существовало принципиальной возможности решить проблему средствами 1С - я бы наверняка рассмотрел вариант, но пока спасибо - наверное придётся обновиться
6 lalex23
 
27.06.16
21:13
ещё нюанс: на тестовом сервере алгоритм SHA-1, на рабочем SHA-256, ни кто не припомнит - небыло ли заморочек каких с поддержкой различных алгоритмов шифрования со стороны 1С, хотя тут я уже слабо соображаю в чём может быть проблема, прям хоть смотри историю изменений в платформе с 76 релиза..