Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Win Server 2003 и запрос по HTTPS

v7: Win Server 2003 и запрос по HTTPS
Я
   GrayS19
 
28.10.20 - 16:25
Есть Win Server 2003 и сайт, перешедший с HTTP на HTTPS.

Есть код:
    ХТТПЗапрос  = СоздатьОбъект("Microsoft.XMLHTTP");
    Stream = СоздатьОбъект("ADODB.Stream");
    Stream.Mode = 3;
    Stream.Type = 1;
    Stream.Open();
    
    Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
    Скрипт.language="vbscript";
    Скрипт.AddObject("s", Stream);
    Скрипт.AddObject("x", ХТТПЗапрос);

    Попытка                      
        ХТТПЗапрос.Open("GET",АдресЗапроса, 0);
        ХТТПЗапрос.Send();  
        
        Скрипт.Eval("s.Write(x.responseBody)");
        Stream.SaveToFile(ИмяФайла,2);
        РезСтрока = "Получен файл  :" + СокрЛП(ИмяФайла);
    Исключение //Если не получается установить связь выдаем причину
        Сообщить(ОписаниеОшибки());
    КонецПопытки;    

Если в адресе запроса http:// - всё в порядке,
если https:/ - msxml3.dll: Системная ошибка: -2146697208

Версия msxml3.dll - MSXML 3.0 SP10
Под Win 7 всё работает, msxml3.dll - MSXML 3.0 SP11.

Сервер 2003 пока не обновляем.
   GrayS19
 
1 - 28.10.20 - 16:28
Пробовал через WinHttp.WinHttpRequest.5.1


    wHTTP = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
    RequestTimeout = 6;
    wHTTP.Open("GET",АдресЗапроса,1);
    wHTTP.Send();
    Рез = wHTTP.WaitForResponse(RequestTimeout);
    Если Рез = -1 Тогда
        Ответ = СокрЛП(wHTTP.ResponseText());
    Сообщить(Ответ);
    КонецЕсли;    


Если в адресе запроса http:// - всё в порядке,
если https:/ -
Рез = wHTTP.WaitForResponse(RequestTimeout);
{D:\ISN\1C\_ОБРАБОТКИ\РАБОТА С HTTP.ERT(127)}: WinHttp.WinHttpRequest: Не удается установить соединение с сервером
   GrayS19
 
2 - 28.10.20 - 16:36
   trdm
 
3 - 28.10.20 - 16:54
(2) Забирай питоном - у него свой свежий протокольный качатель.
Обрабатывай 1С-ом.
   GrayS19
 
4 - 28.10.20 - 17:15
Если вместо ХТТПЗапрос  = СоздатьОбъект("Microsoft.XMLHTTP");
пробвать ХТТПЗапрос  = СоздатьОбъект("Msxml2.ServerXMLHTTP.6.0");
то падает уже с сообщением: msxml6.dll: Не удается установить соединение с сервером
   etc
 
5 - 28.10.20 - 17:20
(0) не знаю как у Microsoft.XMLHTTP, но у HTTPСоединения нужно явно указывать что это безопасное соединение.
На штатные методы переделать что мешает? Старая платформа?
   Garikk
 
6 - 28.10.20 - 17:35
(2) (4) отвечает, через ie на самом сервере они открываются так?
   Garykom
 
7 - 28.10.20 - 17:41
(0) сертификаты обновить надо на 2003 они давно протухли

и да это не совсем тривиально их обновить
   acht
 
8 - 28.10.20 - 17:46
(7) Все проще и грустней. Сайт откликается по TLSv1.2 и SSLv3. Windows 2003 умеет только в TLS 1.0. Закопайте уже стюардессу.
   trdm
 
9 - 28.10.20 - 19:15
Я с WinXP питоном забирал.
   MWWRuza
 
10 - 28.10.20 - 22:05
Вот тут почитайте: https://olegon.ru/showthread.php?t=26748
Была у меня аналогичная проблема под XP, с базой ШК от ОлегОна. Там, по ссылке, мне помогли, и все тогда заработало. Но, было это три года назад, сейчас уже не помню подробностей. А машины той, с XP-шкой, уже нет давно.
   Turku
 
11 - 28.10.20 - 23:42
(0) Win2003 не умеет в TLS1.2. Для винХП это вроде как решалось накатом последнего Апдейтпака от Симпликса. ХП по факту перестали поддерживать в 2019г. Для 2003 - хз.
   big
 
12 - 29.10.20 - 05:38
Установите OpenSSL и всё должно работать. Ещё можно попробовать пользоваться curl, т.к. есть у него хорошая опция -k, когда он небезопасно работает, наплевав на всё  )))

Конечно могут быть нюансы, но у нас такой вариант работает на Win-2003
   GrayS19
 
13 - 29.10.20 - 08:43
(6) IE с сервера по HTTP получает ответ, по HTTPS : надпись "Подключение" - и всё, белый экран без сообщений
   GrayS19
 
14 - 29.10.20 - 08:50
(8) SSL 3.0 есть, а вот TLS только 1.0
   acht
 
15 - 29.10.20 - 09:34
(14) >  SSL 3.0 есть
А разрешен?
   acht
 
16 - 29.10.20 - 09:40
(15)+ В общем, твой сайт умеет в следующее:

Cipher    Proto    Strength    Algo    Key    KeyEx

AES128-SHA    SSLv3    High    AES    128-bit    RSA
AES256-SHA    SSLv3    High    AES    256-bit    RSA
CAMELLIA128-SHA    SSLv3    High    Camellia    128-bit    RSA
CAMELLIA256-SHA    SSLv3    High    Camellia    256-bit    RSA
DHE-RSA-AES128-SHA    SSLv3    High    AES    128-bit    DH
DHE-RSA-AES256-SHA    SSLv3    High    AES    256-bit    DH
DHE-RSA-CAMELLIA128-SHA    SSLv3    High    Camellia    128-bit    DH
DHE-RSA-CAMELLIA256-SHA    SSLv3    High    Camellia    256-bit    DH
AES128-GCM-SHA256    TLSv1.2    High    AESGCM    128-bit    RSA
AES128-SHA256    TLSv1.2    High    AES    128-bit    RSA
AES256-GCM-SHA384    TLSv1.2    High    AESGCM    256-bit    RSA
AES256-SHA256    TLSv1.2    High    AES    256-bit    RSA
CAMELLIA128-SHA256    TLSv1.2    High    Camellia    128-bit    RSA
CAMELLIA256-SHA256    TLSv1.2    High    Camellia    256-bit    RSA
DHE-RSA-AES128-GCM-SHA256    TLSv1.2    High    AESGCM    128-bit    DH
DHE-RSA-AES128-SHA256    TLSv1.2    High    AES    128-bit    DH
DHE-RSA-AES256-GCM-SHA384    TLSv1.2    High    AESGCM    256-bit    DH
DHE-RSA-AES256-SHA256    TLSv1.2    High    AES    256-bit    DH
DHE-RSA-CAMELLIA128-SHA256    TLSv1.2    High    Camellia    128-bit    DH
DHE-RSA-CAMELLIA256-SHA256    TLSv1.2    High    Camellia    256-bit    DH
ECDHE-RSA-AES128-GCM-SHA256    TLSv1.2    High    AESGCM    128-bit    ECDH
ECDHE-RSA-AES128-SHA256    TLSv1.2    High    AES    128-bit    ECDH
ECDHE-RSA-AES256-GCM-SHA384    TLSv1.2    High    AESGCM    256-bit    ECDH
ECDHE-RSA-AES256-SHA384    TLSv1.2    High    AES    256-bit    ECDH

Что ты из этого можешь - смотри сам.
   GrayS19
 
17 - 30.10.20 - 11:07
В умных статьях про TLS 1.2 и Windows Server 2003 SP2 (https://www.atraining.ru/beast-move-from-ssl-to-tls/) упоминаются 2 обновления :
KB938397 и KB968730. На офподдержке таких страниц давно нет :(
http://support.microsoft.com/kb/938397 и http://support.microsoft.com/kb/968730 ведут в никуда. Может у кого есть живые ссылки на эти обновления? На одном ресурсе даже на внутренний FTP сервер видел, но естественно нерабочая.
   GrayS19
 
18 - 30.10.20 - 11:11
WindowsServer2003-KB340178-SP2-x86-RUS скачал и установил. msxml3.dll и msxml6.dll после него не поменялись - как и ожидалось толку = 0
   bmitkin
 
19 - 30.10.20 - 11:21
Сталкивался с подобной проблемой, перешёл на использование curl

Команда = "cmd /c curl -k """ + УРЛ + """ > " + ИмяФайла;
WshShell = СоздатьОбъект("WScript.Shell");
WshShell.Run(Команда, 0, -1);

и в файле ИмяФайла получаем ответ сервера.
   GrayS19
 
20 - 16.11.20 - 11:07
(19) - Большое спасибо. Самый простой из рабочих вариантов. Питон нужно установить и скрипт знать как сделать, а тут просто консольная команда.
   big
 
21 - 16.11.20 - 14:45
(20) На такой вариант ещё в (12) было рассказано. ))
   serpentt
 
22 - 16.11.20 - 15:15
(18) Не мучайтесь. Пробовали все варианты что нашли для win2003 по WinHTTP и XMLHTTP. Ничего не работает. Перешли на CURL.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.