Heim > Java > javaLernprogramm > Wie kann ich den Fehler „Remote-Host-Verbindung während Handshake geschlossen' beheben, wenn ich eine Verbindung zu einem FTPS-Server mit TLS-Sitzungswiederverwendung herstelle?

Wie kann ich den Fehler „Remote-Host-Verbindung während Handshake geschlossen' beheben, wenn ich eine Verbindung zu einem FTPS-Server mit TLS-Sitzungswiederverwendung herstelle?

Linda Hamilton
Freigeben: 2024-11-12 17:23:02
Original
1064 Leute haben es durchsucht

How Can I Resolve the

Herstellen einer Verbindung zum FTPS-Server mit TLS-Sitzungswiederverwendung

Beim Versuch, eine Verbindung mit einem FTPS-Server herzustellen, stößt der Client möglicherweise auf die Meldung „Remote Fehler „Host-Verbindung während Handshake geschlossen“. Dies tritt normalerweise auf, wenn der Server die Verwendung derselben TLS-Sitzung sowohl für die Steuerungs- als auch für die Datenverbindungen erfordert. Die FTPS-Implementierung von Apache Commons Net unterstützt dieses Verhalten nicht von Natur aus.

So beheben Sie dieses Problem und stellen die Wiederverwendung von TLS-Sitzungen sicher:

  1. Implementieren Sie einen benutzerdefinierten FTPS-Client:

    • Überschreiben Sie die prepareDataSocket-Methode in der FTPSClient-Klasse zur Wiederverwendung der TLS-Sitzung.
    • Implementieren Sie eine Logik ähnlich der in Cyberducks FTPClient.java.
  2. Überschreiben DefaultFtpsSessionFactory:

    • Überschreiben Sie die Methode createClientInstance() in DefaultFtpsSessionFactory.
    • Geben Sie Ihre benutzerdefinierte FTPSClient-Implementierung zurück.
  3. JDK verarbeiten 8u161-Problem:

    • Setzen Sie die Systemeigenschaft „jdk.tls.useExtendedMasterSecret“ auf „false“, um Kompatibilitätsprobleme in JDK 8u161 zu beheben.
  4. Verwenden SessionsByHostAndPort:

    • Verwenden Sie in neueren Java-Versionen die SessionsByHostAndPort-Zuordnung in SSLSessionContext anstelle von sessionHostPortCache für die Wiederverwendung von Sitzungen.
  5. Umgehen Sie Android SDK-Einschränkungen (Optional):

    • Wenn Sie unter Android arbeiten, umgehen Sie SDK-Einschränkungen für den Zugriff auf Felder durch Reflektion.

Denken Sie daran, diese Lösung ist stellt eine Problemumgehung dar und bietet möglicherweise keine langfristige Lösung.

Das obige ist der detaillierte Inhalt vonWie kann ich den Fehler „Remote-Host-Verbindung während Handshake geschlossen' beheben, wenn ich eine Verbindung zu einem FTPS-Server mit TLS-Sitzungswiederverwendung herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage