Autor Téma: Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10  (Přečteno 632 krát)

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 475
  • Karma: 9
    • Verze Delphi: XE2
Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« kdy: 30-06-2022, 07:45:14 »
Ahoj.

Používám  Synapsi a OpenSSL 1.1.1  verze 1.1.1k (libssl-1_1.dll a libcrypto-1_1.dll ) ,
Bohužel se mi v ojedinělých případech stane, že zákazník nemůže komunikovat přes https.
U mě to vše funguje a netuším jak závadu odstranit  (případně co u zákazníka nastavit)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3137
  • Karma: 110
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #1 kdy: 30-06-2022, 11:12:22 »
No a co znamena nemuze komunikovat, prece synapse a OpenSSL vraci chybove kody a poskytuje i funkce na jejich textaci.
Takze?
Embarcadero MVP - Czech republic

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 475
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #2 kdy: 30-06-2022, 12:27:32 »
No a co znamena nemuze komunikovat, prece synapse a OpenSSL vraci chybove kody a poskytuje i funkce na jejich textaci.
Takze?
ResultCode - 500
ResultString  je prazdny

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #3 kdy: 30-06-2022, 12:41:30 »
Musis se podivat po
   THTTPSend.Socket.LastErrror a LastErrorDesc
   THTTPSend.Socket.SSL.LastErrror a LastErrorDesc


Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 475
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #4 kdy: 30-06-2022, 15:35:36 »
THTTPSend.Socket.LastErrror a LastErrorDesc
10091 - SSL/TLS support is not compiled!

 THTTPSend.Socket.SSL.LastErrror a LastErrorDesc
 1 - SSL/TLS support is not compiled!

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3137
  • Karma: 110
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #5 kdy: 30-06-2022, 15:43:26 »
Musis dat do uses nekterou implementaci SSL, treba ssl_openssl11 (ted uz nahrazeno za  ssl_openssl3), viz Trunk https://sourceforge.net/p/synalist/code/265/log/?path=/trunk
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #6 kdy: 30-06-2022, 15:44:43 »
10091 - SSL/TLS support is not compiled!
To ale vypada, jako kdybys nemel v .DPR v uses uvedeno, jaka implementace SSL se ma pouzit tj. napr. ssl_openssl resp. ssl_openssl11

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 475
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #7 kdy: 01-07-2022, 08:01:40 »
10091 - SSL/TLS support is not compiled!
To ale vypada, jako kdybys nemel v .DPR v uses uvedeno, jaka implementace SSL se ma pouzit tj. napr. ssl_openssl resp. ssl_openssl11

v uses mám uvedeno ssl_openssl11, ssl_openssl11_lib
Je ale pravda že to mám ve společné unit .pas pro všechny aplikace které používají webové funkce
Nemám to v *.dpr

A hlavně jedná se o stejnou instalačku a na naprosté většině počítačů to funguje v pořádku.
Jediné co mě ještě napadá je to, že  na notasu kde to nefunguje se dělalo upgrade z WIN7 na WIN10

Dodatek:
ještě poznámka , ve starších verzích palikací kde jsem používal předešlé knihovny libeay32.dll a ssleay32.dll  spolu se předešlýmu unit synapse  to funguje OK na to stejném PC


Dodatek 2
tak ani zařazení  ssl_openssl11, ssl_openssl11_lib, do .DPR  nepomohlo
« Poslední změna: 01-07-2022, 08:14:33 od Jirka »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3137
  • Karma: 110
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #8 kdy: 01-07-2022, 08:41:07 »
 Tak si tam zkus pridat neco jako (v uses bude ssl_openssl11, ssl_openssl11_lib, to log je neco co ti nekdo neco zapise)
Kód: Delphi [Vybrat]
  1.   InitSSLInterface;
  2.   if not IsSSLloaded then
  3.   begin
  4.      Log(Format('SSL not loaded! %s, %s', [DLLUtilName,DLLSSLName]));
  5. {
  6.     log(IntToStr(SSLUtilHandle));
  7.     log(IntToStr(SSLLibHandle));}
  8.   end
  9.   else
  10.     Log('SSL loaded!');
  11.  
  12.  
« Poslední změna: 01-07-2022, 08:43:25 od Radek Červinka »
Embarcadero MVP - Czech republic

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1387
  • Karma: 51
    • Verze Delphi: 10.3
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #9 kdy: 01-07-2022, 09:24:31 »
A hlavně jedná se o stejnou instalačku a na naprosté většině počítačů to funguje v pořádku.
Jediné co mě ještě napadá je to, že  na notasu kde to nefunguje se dělalo upgrade z WIN7 na WIN10

A nemá některá z těch .dll závislost na jiné .dll, která na některých počítačích už je, zatímco na některých ne? Typicky mě takhle vypekla závislost na msvcr100.dll, msvcr120.dll, msvcp100.dll apod.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #10 kdy: 03-07-2022, 07:45:19 »
v uses mám uvedeno ssl_openssl11, ssl_openssl11_lib
Jen takova kontrolni otazka: ty .DLL mas ve stejnem adresari, odkud spoustis svoji aplikaci?


Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #11 kdy: 03-07-2022, 07:58:44 »
A nemá některá z těch .dll závislost na jiné .dll, která na některých počítačích už je, zatímco na některých ne? Typicky mě takhle vypekla závislost na msvcr100.dll, msvcr120.dll, msvcp100.dll apod.
Nemela by mit. AFAIK, tak to je vsechno standardni soucasti instalace Windows:
Kód: Delphi [Vybrat]
  1.     WS2_32.dll
  2.     ADVAPI32.dll
  3.     USER32.dll
  4.     bcrypt.dll
  5.     KERNEL32.dll
  6.  

Dival jsem se na to protoze minuly tyden mi kolegyne ze supportu preposlala chybu v SSL komunikaci, ktera se "z niceho nic" po letech provozu objevila u jednoho zakaznika, ale ta se tykala nejakych problemu kolem certifikatu - ze SSL error jsem nic nezjistil (krome chyby pri cteni certifikatu).

Momentalne kolegyne zjistuje, co tam udelali, ze to prestalo fungovat.
« Poslední změna: 03-07-2022, 08:15:30 od pf1957 »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #12 kdy: 03-07-2022, 08:13:57 »
THTTPSend.Socket.LastErrror a LastErrorDesc
10091 - SSL/TLS support is not compiled!
Jeste jsem si vzpomel, ze tahle chyba mi pred lety dala pekne zabrat, protoze jsem si musel vyrobit nekolik detailne logujicich verzi Synapse a posilat je jako testy do banky v zahranici, nez jsem prisel na to, ze stejnou chybu Synapse vracela i po neuspesnem pripojeni pres proxy tj. metoda TTCPBlockSocket.HTTPTunnelDoConnect ji vracela jako LastError.

Ale kdyz se divam do Synapse#239, kterou tady mam, tak tam uz je to u proxy opravene a vraci to WSAECONNREFUSED (10061).

Pokud s tim nepohnes, tak bych asi sel take cestou toho logovani a revize vsech mist, kde se ta hodnota WSASYSNOTREADY (10091) vraci.
« Poslední změna: 03-07-2022, 08:16:51 od pf1957 »

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1564
  • Karma: 37
    • Pepak.net
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #13 kdy: 04-07-2022, 21:08:39 »
Nemela by mit. AFAIK, tak to je vsechno standardni soucasti instalace Windows:
To je nestandardně sestavená verze OpenSSL. Standardní má závislosti na Microsoftím runtimu.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3433
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #14 kdy: 05-07-2022, 10:04:43 »
To je nestandardně sestavená verze OpenSSL. Standardní má závislosti na Microsoftím runtimu.
Jj, uplne jsem zapomel, ze jsem presel na distribuci, ktera neni zavisla na MSVCR, hned jak jsem ji objevil...

Nicmene se nabizi otazka, co je to standardne sestavena verze OpenSSL viz https://www.openssl.org/community/binaries.html.

V kazdem pripade je to podnetna pripominka, protoze pred casem pri pokusu upgradovat Synapsi+OpenSSL v legacy aplikaci jsem ztroskotal na problemech s certifikatem (https://forum.delphi.cz/index.php/topic,17624.msg112459.html#msg112459), takze pokud se k tomu jeste budu nekdy vracet, vyzkousim, jak je na tom jina distribuce.