So pflegen Sie eine TLS-Sitzung für die Datenverbindung in FTPS mit Apache Commons Net
Problem:
Herstellen einer Verbindung zu einem FTPS-Server, der eine Datenverbindung benötigt, um dieselbe TLS-Sitzung wie die Steuerverbindung über Apache Commons Net zu verwenden.
Lösung:
Anforderung :
Der Server muss die Wiederverwendung von TLS-Sitzungen für Datenverbindungen unterstützen.
Apache Commons Net Override:
Überschreiben Sie die _prepareDataSocket_-Methode in a Benutzerdefinierte FTPSClient-Implementierung zur Verwaltung der Sitzungswiederverwendung, ähnlich wie Cyberduck es in FTPClient.java tut.
JDK-Kompatibilität:
In Java 8u161 und höher ist die Sitzungswiederverwendung möglicherweise nicht möglich funktionieren standardmäßig. Um es zu aktivieren:
System.setProperty("jdk.tls.useExtendedMasterSecret", "false");
Alternative Implementierung:
Eine alternative Implementierung finden Sie in der folgenden Apache Commons Net JIRA-Ausgabe: https://issues.apache .org/jira/browse/NET-408.
Android-spezifische Überlegungen:
Umgehen Sie für Android SDK-Einschränkungen, um auf Reflexionsfelder für die Sitzungsverwaltung zuzugreifen: https: //issues.apache.org/jira/browse/NET-776.
Änderungen nach Java 8u161:
In neueren Versionen von Java sollte sessionByHostAndPort verwendet werden anstelle von sessionHostPortCache.
Das obige ist der detaillierte Inhalt vonWie kann die Wiederverwendung von TLS-Sitzungen für Datenverbindungen in FTPS mit Apache Commons Net beibehalten werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!