2013-02-19 70 views
8

मेरा आवेदन, किसी विशिष्ट URL की ग्राहक प्रमाणीकरण की आवश्यकता है। मैं विशिष्ट यूआरएल के लिए क्लाइंट प्रमाणीकरण (clientAuth = true) को मजबूर करने के लिए टोमकैट को कॉन्फ़िगर करना चाहता था, लेकिन इस पोस्ट के आधार पर ऐसा लगता है कि मैं इसे केवल tomcat - configure tomcat for client authentication only for specific URL patterns का उपयोग करके नहीं कर सकता।बिल्ला ग्राहक clientAuth का उपयोग कर प्रमाणीकरण = चाहते हैं के बाद क्लाइंट प्रमाणीकरण सफल होता है आवेदन ही यह भी क्लाइंट प्रमाणपत्र विषय (वसंत सुरक्षा X509 फिल्टर का उपयोग कर) पर कुछ सत्यापन करता है

मेरे सवाल है, अगर मैं clientAuth का उपयोग = चाहते हैं, इसके बाद सर्वर एक प्रमाण पत्र का अनुरोध निम्नलिखित के रूप में नीचे हो जाएगा:

  1. डिवाइस एक पहचान प्रमाण पत्र है, लेकिन सीए बिल्ला truststoreFile में विन्यस्त द्वारा विश्वसनीय नहीं हैं , कोई प्रमाण पत्र पारित हो जाएगा और अनुरोध वसंत सुरक्षा फिल्टर में असफल हो जायेगी, डिवाइस एक पहचान प्रमाण पत्र सीए बिल्ला truststoreFile में विन्यस्त द्वारा विश्वसनीय नहीं हैं (प्रमाण पत्र अशक्त हो जाएगा)
  2. लेकिन यकीन है कि सत्यापन क्या किया जाता है अमान्य (नहीं है) या समाप्त हो गया है, या तो प्रमाणीकरण tomcat (सुरक्षा फ़िल्टर से पहले) में विफल हो जाएगा या विकल्प 1 में कोई प्रमाण पत्र पारित नहीं किया जाएगा डी वसंत सुरक्षा फ़िल्टर में विफल हो जाएगा (प्रमाणपत्र शून्य होगा)

क्या कोई सुरक्षा छेद है जो मैं चाहते हैं कि सुरक्षा + सुरक्षा फ़िल्टर के इस कॉन्फ़िगरेशन का उपयोग कर गायब हो? मुझे लगता है कि सवाल यह है कि - अगर सर्टिफिकेट अंततः डिवाइस से सर्वर पर पास हो जाता है, तो सर्वर हमेशा क्लाइंटऑथ = इच्छित होने पर भी इसे सत्यापित करेगा (समाप्त नहीं हुआ, भरोसेमंद इत्यादि) और क्लाइंट जारी रखने की अनुमति नहीं देगा अगर प्रमाणपत्र है अवैध? इस मामले में जहां कोई प्रमाण पत्र पारित कर दिया है सुरक्षा फिल्टर द्वारा कवर किया जाता है कि प्रमाणपत्र की जाँच करेगा .. रिक्त नहीं है

धन्यवाद!

उत्तर

5

1. और 2. दोनों में अपने पूर्वानुमान सही हैं। टॉमकैट आपके आवेदन के माध्यम से अविश्वसनीय या अमान्य प्रमाणपत्रों की अनुमति नहीं देगा। यदि आपको शून्य प्रमाणपत्र मिलता है, तो आप मान सकते हैं कि या तो कोई प्रमाणपत्र पास नहीं हुआ है, या अविश्वसनीय/अमान्य प्रमाणपत्र पास किया गया था। कुछ URL के लिए ही क्लाइंट प्रमाण पत्र:

परियोजना मैं हम पर काम कर रहा हूँ पर आप के रूप में ही आवश्यकता है। हमने प्रयोग करके पाया कि "clientAuth = want" कैसे काम करता है।

+0

उत्तर के लिए धन्यवाद – michalv82