मैं एक WCF सेवा है कि एक ग्राहक है कि मेरे द्वारा विकसित नहीं है द्वारा सेवन किया जा करने के लिए है और यह भी कि यह नेट (संभवतः जावा) नहीं है पर काम कर रहा हूँ।WCF साथ म्युचुअल एसएसएल प्रमाणीकरण: कोई CertificateRequest और हाथ मिलाना चरण में CertificateVerify
किसी भी मामले में, सेवा आपसी एसएसएल प्रमाणीकरण, जहां दोनों सेवा और ग्राहक परिवहन परत पर प्रमाण पत्र 509 प्रमाणपत्र के साथ प्रमाणित समर्थन करना चाहिए। पहले पल में पार्टियों के बीच सर्टिफिकेट का आदान-प्रदान किया गया है।
मेरे समस्या यह है कि मैं सही WCF विन्यास इस तरह प्राप्त करने के लिए है कि क्लाइंट प्रमाणपत्र प्रमाणीकरण ठीक से काम करता नहीं कर पा रहे है।
इसके बाद ग्राहक को एक `प्रमाण पत्र अन्य बातों के अलावा सत्यापित करें 'के साथ उत्तर देना चाहिए: क्या मैं उम्मीद TLS हैंडशेक के भाग के रूप, सर्वर भी एक Certificate Request
शामिल है कि, जैसा कि नीचे देखा है:
(नवीनतम) सेवा कॉन्फ़िगरेशन यह एक है। मैं कस्टम बाध्यकारी का उपयोग कर रहा हूं, प्रमाणीकरण मोड MutualSslNegotiated
पर सेट है।
<bindings>
<customBinding>
<binding name="CarShareSecureHttpBindingCustom">
<textMessageEncoding messageVersion="Soap11" />
<security authenticationMode="MutualSslNegotiated"/>
<httpsTransport requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
...
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" httpHelpPageEnabled="false" />
<serviceCredentials>
<serviceCertificate findValue="..." storeLocation="LocalMachine" x509FindType="FindByIssuerName" storeName="My" />
<clientCertificate>
<certificate findValue="..." storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/>
</clientCertificate>
</serviceCredentials>
</behavior>
</serviceBehaviors>
हैंडशेक का सर्वर हैलो हिस्सा इस तरह की सभी सेवा कॉन्फ़िगरेशन के लिए ऐसा प्रतीत होता है, मैंने प्रमाणपत्र प्रमाणपत्र की आवश्यकता नहीं है।
अन्य चीजें मैं उल्लेख करना चाहिए:
- सेवा स्वयं की मेजबानी की और एक गैर डिफ़ॉल्ट पोर्ट (नहीं 443) पर सुन रहा है। सर्वर एसएसएल प्रमाणपत्र इस बंदरगाह से जुड़ा हुआ है।
- मैंने
basicHttpBinding
औरwsHttpBidning
को सुरक्षा मोड के साथTransport
पर सेट किया है और क्लाइंट प्रमाणीकरणCertificate
पर सेट किया है, बिना किसी परिणाम (वास्तव में परिणाम)।
कोई भी विचार की सराहना की जाएगी।
आप WCF अनुरेखण सक्षम करने के लिए प्रयास किया था और अगर वहाँ किसी भी विस्तृत त्रुटियों कर रहे हैं? – UserControl
@UserControl: हाँ, ट्रेसिंग सक्षम है लेकिन दुर्भाग्यवश कोई संबंधित त्रुटियां नहीं हैं। –
जंगली शॉट - सर्वर साइड पर लापता क्लाइंट प्रमाण ट्रस्ट श्रृंखला से कुछ रूट प्रमाण पत्र हैं? यही है, आपके पास ग्राहक का प्रमाण है, लेकिन इसकी श्रृंखला में कुछ रूट कर्ट गायब हैं ...? –