Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy: 2 POP3-Server, 2 verschiedene Zertifikate (https://www.delphipraxis.net/201323-indy-2-pop3-server-2-verschiedene-zertifikate.html)

hoika 12. Jul 2019 09:56

Indy: 2 POP3-Server, 2 verschiedene Zertifikate
 
Hallo,
ich habe zwei POP3-Server.
Bei Server1 läuft die Kommunikation mit Zertifikat1, bei Server2 mit Zertifikat2.

Sobald ich einmal eine Verbindung zu Server2 aufgebaut habe,
merkt sich OpenSSL das Zertifikat2 und will es auch bei Server1 mit übergeben.
Server1 will das Zertifikat2 aber natürlich nicht haben.

"Verantwortlich" ist die Funktion VerifyCallback aus IdSSLOpenSSL.pas

Delphi-Quellcode:
     
      hSSL := X509_STORE_CTX_get_app_data(ctx);
      if hSSL = nil then begin
        Result := Ok;  // hier springt er beim 2. Connect rein
        Exit;
      end;
      // hier läuft er beim ersten Connect rein
      hcert := X509_STORE_CTX_get_current_cert(ctx);
Im Moment mache ich folgendes vor jedem Reconnect
Delphi-Quellcode:
      UnloadOpenSSLLibrary;
      Unload;
(Das sind auch 2 Methoden aus IdSSLOpenSSL.pas)

Ich mache wohlgemerkt alles wieder sauber zu:
Disconnect und Free der POP3-Klasse.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz