Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Indy: 2 POP3-Server, 2 verschiedene Zertifikate

  Alt 12. Jul 2019, 09:56
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.
Heiko
  Mit Zitat antworten Zitat