2011-01-14 9 views
6

द्वारा एसएसएल क्लाइंट प्रमाण पत्र की आवश्यकता है। मैं जेटी में एक एचटीटीपीएस साइट पर एक सर्वलेट चलाने के लिए चाहता हूं जिसके लिए साइट (विशिष्ट यूआरएल) के केवल एक हिस्से के लिए क्लाइंट प्रमाणपत्र की आवश्यकता है। उदाहरण के लिए:जेटी को यूआरएल

https://example.com/someservlet/public - कोई ग्राहक प्रमाणपत्र आवश्यक https://example.com/someservlet/protected - ग्राहक प्रमाणपत्र आवश्यक

अपाचे में मैं एक <Directory> या <Location> जो अपाचे मजबूर करता SSL कनेक्शन फिर से बातचीत करने के लिए अंदर SSLVerifyClient require निर्दिष्ट करके ऐसा कर सकते हैं के बाद अनुरोध किया जाता है ।

मैं जेटी को किसी और चीज में एम्बेडेड नहीं करना चाहता, बस स्टैंडअलोन। क्या यह संभव है? क्या एक सर्वलेट किसी भी तरह से इसका कारण बन सकता है? क्या यह विन्यास के माध्यम से किया जा सकता है?

उत्तर

3

जहां तक ​​मुझे पता है कि आप केवल प्रति-पोर्ट आधार पर SSL विकल्प निर्दिष्ट कर सकते हैं।

भले ही आप कॉन्फ़िगरेशन प्राप्त करने की कोशिश कर रहे कॉन्फ़िगरेशन को समस्याग्रस्त कर सकें, क्योंकि इसे एसएसएल रेनेगोसिएशन की आवश्यकता है जो एक साल पहले सुरक्षा भेद्यता के कारण बदल दिया गया है। SSLRenogitiation करने के लिए नई विधि इसलिए केवल नए ग्राहकों द्वारा समर्थित है और कभी-कभी भले ही यह समर्थित है, यह बग के कारण काम नहीं करती है।

एक आसान कामकाज के लिए मेरी सिफारिश: जेटी को दो एसएसएल बंदरगाहों पर सुनने के लिए कॉन्फ़िगर करें: उदाहरण के लिए 443 पर HTTPS क्लाइंट ऑथ के बिना और 8443 पर HTTPS क्लाइंट ऑथ के साथ आवश्यक है। फिर अपने संरक्षित सर्वलेट को केवल 8443 पर उपलब्ध कराएं। यह एक अच्छा समाधान नहीं है लेकिन 100% मजबूत है, जेटी के साथ काम करता है और सभी ग्राहकों के साथ काम करता है।

+1

मेरे पर्यावरण में, सभी क्लाइंट और सर्वर अपडेट किए जाने चाहिए (यह कुछ हद तक मजेदार था जबकि रीनग मुद्दों पर चल रहे थे)। इसके अतिरिक्त, गैर-मानक बंदरगाहों का उपयोग विभिन्न फ़ायरवॉल के माध्यम से नहीं किया जाएगा। कुछ महीने बाद – user63599

+0

, क्या किसी को ऐसे समाधान के बारे में पता है जो एक बंदरगाह के साथ काम करेगा? –

संबंधित मुद्दे