Commons Net च्या FTPSClient साठी SOCKS मार्ग
सर्व्हरचे होस्टनाव, निष्क्रिय डेटा कनेक्शन आणि TLS पडताळणी टिकवून FTPS साठी Commons Net चे सॉकेट-प्रॉक्सी इंटरफेस वापरा.
SOCKS मध्यस्थ उपलब्ध असल्यास Commons Net चा FTPSClient वारसाहक्काने मिळालेला सॉकेट-प्रॉक्सी इंटरफेस वापरू शकतो. FTPS सर्व्हरलाच कनेक्शनचे गंतव्य ठेवा:
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);
हे स्पष्ट FTPS कनेक्शन सुरू करते. लॉगिन, डेटा-संरक्षण वाटाघाटी, हस्तांतरण हाताळणी आणि डिस्कनेक्ट यांची जबाबदारी अद्याप अनुप्रयोगाकडे आहे. null trust manager सेटिंग Commons Net च्या फक्त तारखेवर आधारित प्रमाणपत्र तपासणीऐवजी JVM चे डीफॉल्ट trust manager निवडते. इच्छित trust store आणि सर्व्हरच्या प्रमाणपत्राचे होस्टनाव वापरा.
निष्क्रिय हस्तांतरणांसाठी, सध्याची FTPSClient अंमलबजावणी तिचे डेटा सॉकेटही कॉन्फिगर केलेल्या प्रॉक्सीमधून तयार करते आणि नंतर TLS स्तर जोडते. लॉगिननंतर निष्क्रिय मोड वापरा आणि सामान्य FTPS API द्वारे आवश्यक संरक्षित डेटा चॅनेलवर वाटाघाटी करा. यशस्वी नियंत्रण कनेक्शन ते काम पूर्ण करत नाही; निष्क्रिय डेटा कनेक्शन वेगळा मार्गच राहतो.
कोड अतिरिक्त खाते नसलेल्या SOCKS सेवेचा गृहीत धरतो. प्रमाणीकरण समर्थनासाठी निवडलेल्या Java रनटाइम आणि तैनातीचा स्वतंत्र आढावा आवश्यक आहे.
हे FTPHTTPClient चे HTTP CONNECT इंटरफेस नाही. तो सहोदर सामान्य FTP HTTP बोगद्यावरून हाताळतो; त्याचा पोर्ट बदलल्याने FTPS जोडले जात नाही. नेटवर्कने फक्त HTTP प्रॉक्सीला परवानगी दिल्यास, नियंत्रण आणि डेटा दोन्ही मार्गांवर CONNECT समर्थित FTPS अंमलबजावणी किंवा देखभाल केलेले अनुकूलन निवडा.
क्लायंटच्या संपूर्ण जीवनचक्रात प्रॉक्सी कॉन्फिगरेशन टिकवा आणि पुन्हा वापरलेले इन्स्टन्स पुन्हा जोडण्यापूर्वी त्याचा आढावा घ्या: FTPS डिस्कनेक्ट सॉकेट कारखाने रीसेट करते. मार्ग यशस्वी दिसावा म्हणून प्रमाणपत्र तपासण्या trust-all manager ने बदलू नका.