Një rrugë SOCKS për FTPSClient të Commons Net
Përdorni ndërfaqen socket proxy të Commons Net për FTPS duke ruajtur emrin e hostit të serverit, lidhjet pasive të të dhënave dhe verifikimin TLS.
Kur ka një ndërmjetës SOCKS, FTPSClient i Commons Net mund të përdorë ndërfaqen socket proxy të trashëguar. Mbani serverin FTPS si destinacion të lidhjes:
var client = new org.apache.commons.net.ftp.FTPSClient(false);
client.setProxy(new java.net.Proxy(
java.net.Proxy.Type.SOCKS,
new java.net.InetSocketAddress("proxy.example", 1080)));
client.setTrustManager(null);
client.setEndpointCheckingEnabled(true);
client.setConnectTimeout(10000);
client.connect("ftps.example", 21);
Kjo nis një lidhje FTPS të qartë. Aplikacioni ende zotëron hyrjen, negocimin e mbrojtjes së të dhënave, trajtimin e transferimit dhe shkëputjen. Cilësimi null trust manager zgjedh trust manager-ët parazgjedhur të JVM-së në vend të kontrollit të certifikatës vetëm sipas datës të Commons Net. Përdorni trust store-in e synuar dhe emrin e hostit të certifikatës së serverit.
Për transferimet pasive, zbatimi aktual i FTPSClient krijon edhe socket-in e të dhënave përmes proxy-t të konfiguruar, pastaj shton shtresën TLS. Pas hyrjes, përdorni modalitetin pasiv dhe negocioni kanalin e mbrojtur të të dhënave të kërkuar përmes API-së normale të FTPS. Një lidhje kontrolli e suksesshme nuk e përfundon atë punë; lidhja pasive e të dhënave mbetet një rrugë më vete.
Kodi supozon një shërbim SOCKS pa një llogari shtesë. Mbështetja e vërtetimit kërkon rishikim të veçantë për runtime-in Java dhe vendosjen e zgjedhur.
Kjo nuk është ndërfaqja HTTP CONNECT e FTPHTTPClient. Ai vëlla trajton FTP të zakonshëm përmes një tuneli HTTP; ndryshimi i portës së tij nuk shton FTPS. Nëse rrjeti lejon vetëm një proxy HTTP, zgjidhni një zbatim FTPS ose një përshtatje të mirëmbajtur që mbështet CONNECT si në rrugën e kontrollit ashtu edhe në atë të të dhënave.
Mbajeni konfigurimin e proxy-t gjatë gjithë ciklit të jetës së klientit dhe rishikojeni përpara se të rilidhni një instancë të ripërdorur: shkëputja e FTPS rivendos fabrikat e socket-eve. Mos i zëvendësoni kontrollet e certifikatës me një trust-all manager që rruga të duket e suksesshme.