TLS Session Error bei FTP Verbindung mit LIST

Maliko

Bekanntes Mitglied
Moin,

ich hab ein echt merkwürdiges Problem. Und zwar nutze ich die FTP-Bibliothek von apache.common (apache.common.net) in der Version 3.11.1. Die Verbindung funktioniert auch einwandfrei. Ich kann ne Connection aufbauen, der Login funktioniert und ich kann auch nen PWD absetzen. Sprich die CommandConnection existiert. Wenn ich dann aber versuche ein LIST abzusetzen (client.listFiles()) dann bekomme ich ein leeres Array zurück und im Log taucht die Fehlermeldung "425 Unable to build data connection: TLS session of data connection not resumed." auf.

Hier der Code den ich verwende:

Java:
public FTPHandler() {
        this._client = new FTPSClient(false);
        this._replaceblePart = "";
}

public FTPHandler Connect(String aHostname, String aUsername, String aPassword) throws IllegalStateException, IOException {
        this._client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true));
        
        String[] ver = {"TLSv1.3"};
        this._client.setEnabledProtocols(ver);
        this._client.connect(aHostname);
        this._client.login(aUsername, aPassword);
        this._client.execPBSZ(0);      // Protection Buffer Size = 0
        this._client.execPROT("P");    // PROT = Private, also verschlüsselter Datenkanal
        this._client.enterLocalPassiveMode();
        
        return this;
}

private Boolean CheckCurrentFolder(String folder) throws IllegalStateException, IOException {
        String actualPath = this._client.printWorkingDirectory();
        FTPFile[] files = this._client.listFiles();
        
        for (FTPFile file : files) {
            if(file.getName().equals(folder)) {
                return true;
            }
        }
        
        return false;
}

Hat vielleicht irgendjemand von euch eine Ahnung was da schief läuft? Hier auch noch einmal der komplette Log:

220-FileZilla Server 1.10.4
220 Please visit https://filezilla-project.org/
AUTH TLS
234 Using authentication type TLS.
USER *******
331 Please, specify the password.
PASS *******
230 Login successful.
PBSZ 0
200 PBSZ=0
PROT P
200 Protection level set to P
PWD
257 "/" is current directory.
SYST
215 UNIX emulated by FileZilla.
PASV
227 Entering Passive Mode (10,100,10,21,227,58)
LIST
150 Starting data transfer.
425 Unable to build data connection: TLS session of data connection not resumed.
 

KonradN

Super-Moderator
Mitarbeiter
Das scheint ein Problem mit der TLS Session Absicherung.

Probier mal, vor dem öffnen von Datenverbindungen ein setEnablesSessionCreation(false) zu setzen. (Zur Konfiguration des Session Resumption).

Nutzt Du mit anderen Clients auch explizit TLS 1.3? Nicht dass der Server kein Session Resumption mit TLS 1.3?

Generell wäre die klare Empfehlung auf FTPS zu verzichten und statt dessen auf SFTP zu setzen. Je mehr Du bei den Protokollen auf die setzt, die "üblich" sind, desto weniger Probleme hast Du (breitere Anwendung dadurch besseres Austesten und deutlich mehr Leute, die Erfahrungen damit teilen!)
 

Maliko

Bekanntes Mitglied
Zum Thema TLS. Jap tun wir, der Server akzeptiert auch nix anderes (habs ausprobiert). Den Tipp mit setEnablesSessionCreation probiere ich morgen mal aus, wenn ich wieder im Büro bin. Und was die FTP-Art angeht, da hab ich leider kein Mitspracherecht. Ich muss damit arbeiten was die Sysadmins uns da hinstellen. Und die mögen aus irgendeinem Grund FTPS deutlich lieber als SFTP (und da stoße ich auch auf taube Ohren, abgesehen davon das fast alle Systeme inzwischen umgestellt sind)
 

Maliko

Bekanntes Mitglied
Habs grad ausprobiert. Leider bringt das auch nichts. Jetzt bekomme ich ne HandshakeException "No new session is allowed and no existing session can be resumed".
 

Maliko

Bekanntes Mitglied
Nope. Selbe Fehlermeldung. Ich hab inzwischen das System übrigends Testweise auf ftp4j umgestellt und bekomme da die selbe Fehlermeldung.
 

mihe7

Top Contributor
Nach der JSSE-Doku gäbe es die Properties jdk.tls.client.enableSessionTicketExtension und jdk.tls.server.enableSessionTicketExtension. Wenn ich es richtig verstehe, wird standardmäßig ein Ticket gesendet, eventuell kommen Java und der FTP-Server nicht miteinander zurecht.

This should improve the performance and memory usage of the TLS server under large workloads as the session cache will seldom be used. However, with less session information cached, some session information may not be available. This feature is enabled by default; you can turn it off by setting two system properties

Vielleicht hilfts.
 

Robert Zenz

Top Contributor
Wenn ich das richtig sehe, gibt es einen Konstruktor welcher einen SSLContext uebernimmt), eventuell musst du den SSLContext korrekt konfigurieren und uebergeben.

Eine andere Moeglichkeit ist Bouncy Castle fuer Java einzuhaengen und dass fuer die TLS-Verbindung zu verwenden. Das ist eine andere Implementierung und eventuell umgehst du damit einen Dreher in der Java-Implementierung (oder es verwendet einfach andere Annahmen wenn es um die Verbindung geht).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Carres HTTP Vorhandenen Session-ID Cookie von Firefox, Chrome oder IE in Java verwenden Netzwerkprogrammierung 2
agent47 Fritz!Box Session ID holen Netzwerkprogrammierung 1
Thallius Browser Session selbst gemacht? Netzwerkprogrammierung 3
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
D HTTP Frage zu Login & Session ID Netzwerkprogrammierung 5
T Session in RMI Netzwerkprogrammierung 31
A Get a Bean from the session object Netzwerkprogrammierung 2
C Session Problem beim Zugriff auf Webseiten Netzwerkprogrammierung 3
L session setzen Netzwerkprogrammierung 2
M Session Cookies Java Netzwerkprogrammierung 8
G JavaMail und Session/Message Problem Netzwerkprogrammierung 2
x46 Connection reset by peer: socket write error Netzwerkprogrammierung 6
D Socket Error: java.lang.NullPointerException Netzwerkprogrammierung 1
D Apache Mina Serial: Error Netzwerkprogrammierung 2
T HTTP HtmlUnit - Javascript Error Netzwerkprogrammierung 2
B FTP FTTPSClient.retrieveFileStream: error 500 Netzwerkprogrammierung 7
A HTTP Zugriff auf http-Server - Error 400 Netzwerkprogrammierung 11
G Exception: Connection reset by peer: socket write error Netzwerkprogrammierung 2
O Error in generating WSDL from Java: java.lang.ClassNotFoundException: WS Netzwerkprogrammierung 2
S Error 404 obwohl die Datei existiert Netzwerkprogrammierung 9
J 403 error bei POST request Netzwerkprogrammierung 3
IT-MaD Connection reset by peer: socket write error Netzwerkprogrammierung 2
P URL - 403 ERROR - Google News - PHP geht Netzwerkprogrammierung 5
I socket write error bei 2. Sendeversuch Netzwerkprogrammierung 5
N Error 400 Netzwerkprogrammierung 8
J socket write error Netzwerkprogrammierung 3
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Verbindung zu Geräten mit gleicher IP aber in unterschiedlichen VLans aufbauen Netzwerkprogrammierung 2
M Socket Socket lehnt Verbindung ab Netzwerkprogrammierung 3
IAmFloppy Socket Nachstellen der Verbindung Netzwerkprogrammierung 6
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
S Peer2Peer Verbindung trotz NAT Netzwerkprogrammierung 2
T VPN-Verbindung über Java Netzwerkprogrammierung 4
Aruetiise Socket Verbindung Überprüfen Netzwerkprogrammierung 18
F Socket Verbindung mit Verschlüsselung und Authentifierzung Netzwerkprogrammierung 1
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
P Socket Socket-Verbindung Input sehr langsam Netzwerkprogrammierung 1
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
F Einfache Socket Verbindung Netzwerkprogrammierung 2
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0
I Swing hängt sich auf bei Verbindung zum Server Netzwerkprogrammierung 3
P RMI Hohe CPU Last RMI Verbindung Netzwerkprogrammierung 4
J Pc - Handy Verbindung? Netzwerkprogrammierung 3
M Socket 2x Proxy multithread-server mit Cross Verbindung Netzwerkprogrammierung 0
T Verbindung zum Server fehlgeschlagen Netzwerkprogrammierung 7
D Einfache Verbindung zu Linux Server und Datei auslesen Netzwerkprogrammierung 13
B Nach Verbindung gleich ObjectStream empfangen Netzwerkprogrammierung 1
R Dauerhaft offene Socket-Verbindung? Netzwerkprogrammierung 3
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
S Socket Socket Verbindung wiederherstellen Netzwerkprogrammierung 16
T Socket Bidirektionale Verbindung mit Sockets Netzwerkprogrammierung 8
N (TCP) Verbindung ohne Portforwarding Netzwerkprogrammierung 12
N Lan-Verbindung erstellen Netzwerkprogrammierung 2
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
A TCP über UDP Verbindung? Netzwerkprogrammierung 10
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
E Verbindung zu SQL-Datenbank auf einem Server Netzwerkprogrammierung 13
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
V NullPointerException bei Verbindung zu RabbitMQ-Server Netzwerkprogrammierung 4
B FTP commons net verschlüsselte verbindung Netzwerkprogrammierung 11
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
T Socket Client versucht zyklische Verbindung zum Server Netzwerkprogrammierung 4
X Über eine Socket-Verbindung Arrays übergeben Netzwerkprogrammierung 5
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
A Socket Socket Verbindung unterbrochen --> keine Exception Netzwerkprogrammierung 7
S SVNKit - Verbindung zum Repository trennen? Netzwerkprogrammierung 2
P Socket neuer Client - neue(r) Socket/Verbindung geöffnet? Netzwerkprogrammierung 6
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
X SSH Verbindung zu Remote Datenbank Netzwerkprogrammierung 2
S TCP Verbindung zu Beamer Netzwerkprogrammierung 8
Y server client socket verbindung übers internet aufbauen Netzwerkprogrammierung 8
M ganymed-ssh2.har: ftp-Verbindung über ftp-Proxy Netzwerkprogrammierung 2
D Verbindung zw. zwei Rechnern funzt nicht Netzwerkprogrammierung 5
F Socket Socket Verbindung Netzwerkprogrammierung 10
E Server schließt einfach verbindung? Netzwerkprogrammierung 6
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
X Socket Handy/PC Verbindung unterscheiden Netzwerkprogrammierung 18
O Telnet verbindung Netzwerkprogrammierung 4
Dit_ UDP Verbindung durch Proxy Netzwerkprogrammierung 4
H Socket Client server,verbindung läst sich nicht abbauen&code optimierung Netzwerkprogrammierung 3
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
M HTTP HTTPS-Verbindung mittels Java und Javascript Netzwerkprogrammierung 2
N Verbindung zu Fritzbox Socket/Telnet ??? Netzwerkprogrammierung 5
multiholle RMI Verbindung Linux <-> Windows Netzwerkprogrammierung 4
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
S SSH Verbindung mit j2ssh Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
H Socket Socket verbindung mit einem TeamSpeak2 Server Netzwerkprogrammierung 5
G TCP verbindung hinter NAT Netzwerkprogrammierung 28

Ähnliche Java Themen


Oben