निर्दिष्ट किए बिना टोमकैट के लिए क्लाइंट-सीईआरटी का उपयोग करके मैं आने वाले कनेक्शन के लिए टॉमकैट वेब एप्लिकेशन क्लाइंट प्रमाणपत्र प्रमाणीकरण का उपयोग करने की कोशिश कर रहा हूं। Server.xml में clientAuth = true का उपयोग करते समय सब कुछ ठीक काम करता है, हालांकि उसी सर्वर पर चल रहे अन्य अनुप्रयोगों के कारण, हम उत्पादन वातावरण में इसका उपयोग नहीं कर सकते हैं।उपयोगकर्ता नाम
क्या कोई वेब.एक्सएमएल दस्तावेज़ बनाने का कोई तरीका है जैसे कि यह क्लाइंट प्रमाण पत्र के उपयोग को क्लाइंटएथ = सत्य के रूप में उसी तरह से मजबूर करता है? ऐसा लगता है कि क्लाइंट-सीईआरटी सेटिंग का उपयोग करने के लिए आपको अपने सिस्टम तक पहुंचने के लिए प्रत्येक प्रमाणपत्र के लिए टॉमकैट उपयोगकर्ता खाता भी सेट करना होगा? हमें निर्दिष्ट प्रमाणपत्र (सर्वर ट्रस्टस्टोर में सेट) से सभी प्रमाणपत्रों को अनुमति देने में सक्षम होना चाहिए, जहां विषय कुछ नियमों (वास्तविक एप्लिकेशन के भीतर चेक किया गया) से मेल खाता है। मैं उम्मीद कर रहा था कि निम्नलिखित की तरह कुछ काम करेगा, लेकिन अभी तक कोई भाग्य नहीं है!
<security-constraint>
<web-resource-collection>
<web-resource-name>Everything</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
'clientAuth = false' कनेक्टर कॉन्फ़िगरेशन में और 'web.xml' में' क्लाइंट-सीईआरटी' 'आपको पुनः बातचीत के लिए क्लाइंट-प्रमाणपत्र प्राप्त करने की अनुमति देता है, जो आसान है यदि आप अन्य वेबैप की आवश्यकता नहीं चाहते हैं ब्राउज़र में एक संकेत का कारण बनता है। – Bruno
यही वह है जो मैं ऊपर करने की कोशिश कर रहा था, लेकिन ऐसा लगता है कि मैंने यहां क्लाइंट-सीईआरटी विकल्प के उपयोग को गलत समझा होगा। तो, web.xml में क्लाइंट-सीईआरटी ** केवल ** किसी विशेष उपयोगकर्ता के रूप में प्रमाणीकृत करने के लिए प्रमाण का उपयोग करने के लिए ** है? अब तक का अधिकांश अनुभव आईआईएस के साथ है, और मैं उम्मीद कर रहा था कि टॉमकैट ने वैसे ही काम किया था, जहां आप यह निर्दिष्ट कर सकते हैं कि संपूर्ण सर्वर, या एक व्यक्तिगत प्रोजेक्ट या यहां तक कि एक व्यक्तिगत पृष्ठ को कनेक्शन से पहले प्रस्तुत किए जाने वाले वैध क्लाइंट प्रमाण पत्र की आवश्यकता है या नहीं की अनुमति दी। –
@ क्रिस्टोफर-शल्ट्ज़: मैंने क्लाइंटऑथ = चाहता था, जिसने काम किया लेकिन मुझे यकीन नहीं था कि यह सुरक्षित था या नहीं। हालांकि, इसके बारे में कुछ और सोचना - अगर कोई प्रमाण पत्र प्रस्तुत नहीं किया गया है, तो हमारा कोड वैसे भी काम करेगा और उन्हें अस्वीकार कर देगा। यदि वे क्लाइंट सर्टिफिकेट पेश करते हैं, तो संभवत: यह सत्यापित करने के लिए हमारे कोड पर पारित होने से पहले क्लाइंटऑथ = सत्य (जैसे विश्वसनीय सीए, सीमा में वैधता इत्यादि) पर टॉमकैट करेगा, तो यह संभवतः सभी जांच के माध्यम से जाना होगा, इसलिए यह होगा बिल्कुल वही काम करते हैं? –