Ciao a tutti,
sto cercando di istanziare una connessione via ftps con un server filezilla (l'ultimo rilasciato, 1.3.0).
Mi sono appoggiato alle Indy, anche queste aggiornate all'ultima versione disponibile.
La connessione viene creata con successo ma quando provo a fare il list dei file mi arriva un bell'errore: "Unable to build data connection: TLS session of data connection not resumed.".
Il codice che crea la connessione è quello qui sotto. La versione delle dll openssl sotto windows è la 1.0.2u. Ho provato anche su linux ottenendo il medesimo risultato.
function TMiaClasse.CreateConnection: TIdFTP;
begin
Result := TIdFTP.Create(nil);
{$IFDEF LINUX}
// https://synaptica.info/2021/01/12/delphi-10-4-1-indy-ssl-on-ubuntu-20-04/
IdOpenSSLSetLibPath(ProgramDirectory);
{$ENDIF}
Result.Host:= FHost;
Result.Username:= FUsername;
Result.Password:= FPassword;
if FUseFTPS then
begin
if not Assigned(FSSLIoHandler) then
begin
FSSLIoHandler := TIdSSLIOHandlerSocketOpenSSL .Create(nil);
FSSLIoHandler.SSLOptions.Method := sslvTLSv1_2;
end;
Result.IOHandler:= FSSLIoHandler;
Result.UseTLS := utUseExplicitTLS;
Result.DataPortProtection := ftpdpsPrivate;
end;
end;
Da quello che capisco il problema è che Filezilla ha abilitato di default la session resumption ormai obbligatoria per le connession FTPS.
Non sono riuscito a capire se le Indy la supportano oppure no e come fare per abilitarla.
Mi sembra che la risposta sia che non la supportano però in questo post qui https://en.delphipraxis.net/topic/6114-tls-with-filezilla-ftp-server-tls-data-session-not-resumed/ (https://en.delphipraxis.net/topic/6114-tls-with-filezilla-ftp-server-tls-data-session-not-resumed/) mi pare di intendere che chi scrive sia riuscito a far andare il collegamento con le Indy.
Qualcuno di voi ha mica avuto modo di affrontare un problema simile?
Grazie!
Mimmo