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

Offline zj

  • Nováček
  • *
  • Příspěvků: 14
  • Karma: 0
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #15 kdy: 05-07-2022, 10:48:19 »
Třeba to někomu pomůže ...
https://wiki.openssl.org/index.php/Binaries
zj

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 478
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #16 kdy: 05-07-2022, 14:59:03 »
Tak si tam zkus pridat neco jako (v uses bude ssl_openssl11, ssl_openssl11_lib, to log je neco co ti nekdo neco zapise)

Nápad je to dobrý, problém je že si to nemám jak poslat, když šifrované spojení nenaváži ...

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3467
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #17 kdy: 05-07-2022, 15:52:50 »
Nápad je to dobrý, problém je že si to nemám jak poslat, když šifrované spojení nenaváži ...
Ja si to v te bance psal do souboru a nechaval si ho poslat emajlem. Jinak nezapomen, ze se ta chyba prirazuje na nekolika mistech, takze bys to mel zalogovat kolem kazdeho vyskytu.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3183
  • Karma: 111
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #18 kdy: 05-07-2022, 17:21:44 »
Tak si tam zkus pridat neco jako (v uses bude ssl_openssl11, ssl_openssl11_lib, to log je neco co ti nekdo neco zapise)

Nápad je to dobrý, problém je že si to nemám jak poslat, když šifrované spojení nenaváži ...

To jsem myslel na zacatku aplikace, explicitne provest inicializaci a zapsat do souboru.
Embarcadero MVP - Czech republic

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 478
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #19 kdy: 06-07-2022, 09:33:36 »
Takže jsem to prozatím vzdal a vrátil se k původním  knihovnám  ( libeay32.dll,ssleay32.dll ) 
mimo přístupu přes https a port 465 při odesílání emailu je k ničemu jinému zatím nepotřebuji a tam mi to funguje.
Pokud by náhodou věděl o nejakém úskalí s používáním těchto starších knihoven , tak uvítám případné informace.
« Poslední změna: 06-07-2022, 09:35:24 od Jirka »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3467
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #20 kdy: 06-07-2022, 11:10:30 »
Pokud by náhodou věděl o nejakém úskalí s používáním těchto starších knihoven , tak uvítám případné informace.
S cim se muzes setkat, ze podporovane protokoly pro zabezpeceni zastaravaji. Takze my jsme se setkali s tim, ze securitak u zakaznika nastavil u proxy min. pozadavek na TLS 1.2 a bylo vymalovano.

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 478
  • Karma: 9
    • Verze Delphi: XE2
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #21 kdy: 08-07-2022, 09:44:00 »
S cim se muzes setkat, ze podporovane protokoly pro zabezpeceni zastaravaji. Takze my jsme se setkali s tim, ze securitak u zakaznika nastavil u proxy min. pozadavek na TLS 1.2 a bylo vymalovano.

Měl by někdo nějaký nápad jak "přehazovat" mezi různými verzemi OpenSSL  - něco jako 
 
Kód: Delphi [Vybrat]
  1. #define  
  2.   if  OkNovaVerze
  3. then
  4. begin ssl_openssl11, ssl_openssl11_lib  end
  5. else
  6. begin    ssl_openssl, ssl_openssl_lib end;
  7.  

ale v rámci hotového EXE

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3183
  • Karma: 111
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #22 kdy: 08-07-2022, 10:15:51 »
S cim se muzes setkat, ze podporovane protokoly pro zabezpeceni zastaravaji. Takze my jsme se setkali s tim, ze securitak u zakaznika nastavil u proxy min. pozadavek na TLS 1.2 a bylo vymalovano.

Měl by někdo nějaký nápad jak "přehazovat" mezi různými verzemi OpenSSL  - něco jako 
 
Kód: Delphi [Vybrat]
  1. #define  
  2.   if  OkNovaVerze
  3. then
  4. begin ssl_openssl11, ssl_openssl11_lib  end
  5. else
  6. begin    ssl_openssl, ssl_openssl_lib end;
  7.  

ale v rámci hotového EXE



To mi hlava nebere, misto hledani reseni to nejak flikovat. Proc nezkusis to co rikam, hned po startu manualne inicializovat OpenSSL (bez nejakeho navazani spojeni, proste jen nacist volat nacgeni dane DLL tak jak jsem psal, nic vic) a zalogovat chyby. Pripadne si do te inicializace pridat taky logovani.

Mimochodem, to co chces ty, predpoklada to co navrhuji ja - manualni inicializaci OpenSSL a pokud dojde k chybe, zkusit jinou verzi. Kdyz se podivas na to jak se vola inicializace, tak to bude jasne. Jen je to proste spatna myslenka.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3183
  • Karma: 111
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #23 kdy: 08-07-2022, 10:19:58 »
Musel by jsi udelat neco co je v te initialization, tj. neco ve smyslu

Kód: Delphi [Vybrat]
  1.   if ssl_openssl.InitSSLInterface then
  2.     SSLImplementation := ssl_openssl.TSSLOpenSSL;
  3. else
  4.   if ssl_openssl11.InitSSLInterface then
  5.     SSLImplementation := ssl_openssl11.TSSLOpenSSL;
  6.  

ale to radeji bych resil proc, tj. jak jsem psal
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3467
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #24 kdy: 08-07-2022, 11:31:38 »
hned po startu manualne inicializovat OpenSSL (bez nejakeho navazani spojeni, proste jen nacist volat nacgeni dane DLL tak jak jsem psal, nic vic) a zalogovat chyby. Pripadne si do te inicializace pridat taky logovani.
Neomezoval bych se jen na logovani inicializace, ale na vsechna prirazeni WSANOTREADY, protoze (alespon ve verzi, kterou tu mam) napr.:
Kód: Delphi [Vybrat]
  1. procedure TTCPBlockSocket.SSLDoConnect;
  2. begin
  3.   ResetLastError;
  4.   if not FSSL.Connect then
  5.     FLastError := WSASYSNOTREADY;
  6.   ExceptCheck;
  7. end;
  8.  
U SOCKS proxy v podstate dtto...

Osobne bych si udelal test zakladnich operaci, ktere app potrebuje a ty poradne zalogoval, jako samotny exe a ten na inkriminovanych pocitacich nechal spustit a poslat si vysledek.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3183
  • Karma: 111
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #25 kdy: 08-07-2022, 11:48:10 »
No ja jsem vycházel z toho, že psal že mu to píše chybu "SSL/TLS support is not compiled!"

což je
Kód: Delphi [Vybrat]
  1. procedure TCustomSSL.ReturnError;
  2. begin
  3.   FLastError := -1;
  4.   FLastErrorDesc := 'SSL/TLS support is not compiled!';
  5. end;
  6.  

a IMHO nastane tehdy kdyz SSLImplementation má výchozí hodnotu SSLImplementation: TSSLClass = TSSLNone; tj. budto neni zadna implementace nebo neproběhne inicializace SSL implementace a zůstane výchozí hodnota.
Ale hádat se nebudu :-)


Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3467
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #26 kdy: 08-07-2022, 13:49:36 »
No ja jsem vycházel z toho, že psal že mu to píše chybu "SSL/TLS support is not compiled!"
Aha, me nenapadlo, ze ke stejnemu kodu chyby 10091 existuji ruzne textove popisy, ktere popravde nikdy moc nectu a ridim se primarne kodem. Navic chyba 10091 je pro mne jak cerveny hadr na byka :)

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 244
  • Karma: 17
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Synapse a OpenSSL 1.1.1 - nefunkčnost na WIN10
« Odpověď #27 kdy: 01-09-2022, 11:58:47 »
Jak si to tu tak po delší době čtu, tak je to podle mne naprosto jasné:

Na Win10 to za běžných okolností funguje normálně (ostatně to na nich celé píšu...). Protože to dle popisu někde funguje a někde ne, tak bych si ověřil v proměnných SSLLibFile a SSLUtilFile, jestli se mi opravdu nahrály ty knihovny z těch míst, z jakých očekávám. Protože podle chyby se prachprostě nepovedlo inicializovat knihovny příslušné verze.

P.S. dosti doporučuji už používat ssl_openssl3