तो मैं wsdls के साथ यहां कुछ समस्याएं चला रहा हूं और जावा में कई कर्टों का चयन कर रहा हूं। एक स्मार्टकार्ड, उदाहरण के लिए, हस्ताक्षर, एन्क्रिप्शन, पहचान के लिए, इसमें कई कर्ट हैं। मैं एक डबल्यूएसडीएल है कि ग्राहक प्रमाणन कनेक्शन के लिए कोड उत्पन्न करता है लेकिन जहाँ तक मैं बता सकता हूँ, आप wsdl संपत्ति की स्थापना द्वारा कुंजीस्टोर करने के लिए एक रास्ता देना है, यहडब्ल्यूएसडीएल क्लाइंट एथ और एकाधिक कर्ट
System.setProperty("javax.net.ssl.keyStore",
keyStore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
की तरह मैं इस tutorial अनुसरण कर रहा हूँ । अब, एक स्मार्टस्टोर में एक कीस्टोर में एकाधिक कैर्ट्स के लिए, यह एक समस्या प्रस्तुत करता है क्योंकि निर्दिष्ट करने का कोई तरीका नहीं है कि आप उस स्मार्टकार्ड पर किस प्रमाणपत्र का उपयोग करना चाहते हैं। ऐसा लगता है कि wsdl कुंजीस्टोर में पहला प्रमाणपत्र चुनता है, जो प्रमाणित करने के लिए गलत प्रमाण पत्र हो सकता है।
मेरा प्रश्न है 2 गुना:
वहाँ एक रास्ता एक
System.setProperty
कर wsdl जो प्रमाण पत्र का उपयोग करने के बताने के लिए अन्य की तुलना में है?wsconsume
का उपयोग करते हुए wsdl द्वारा अधिकांश कोड जेनरेट किए जाने के बाद से मैं कौन सा प्रमाणपत्र निर्दिष्ट करने के लिए क्या कर सकता हूं?System.setProperty()
केवल आपको एक पथ निर्दिष्ट करने की अनुमति देता है। क्या ऑब्जेक्ट निर्दिष्ट करने का कोई तरीका है? जिस तरह से मुझे स्मार्टकार्ड से प्रमाण पत्र मिल रहे हैं, वह SunPKCS11 क्लास का उपयोग कर रहा है (जैसा कि here मिला है)। हालांकि, यह मुझे एक कीस्टोर ऑब्जेक्ट देता है, और जहां तक मुझे पता है किSystem.setProperty()
पथ चाहता है।
आपकी मदद के लिए धन्यवाद!