मैं एक X509 प्रमाणपत्र के साथ एक डुप्लेक्स WCF सेवा से कनेक्ट कर रहा हूँ के लिए उपयोग करने के लिए, इस तरह ग्राहक कॉन्फ़िग फ़ाइल में प्रमाण पत्र के विवरण को निर्दिष्ट:गतिशील रूप से सेट X509 WCF डुप्लेक्स संचारों
<behaviors>
<endpointBehaviors>
<behavior name="ScannerManagerBehavior">
<clientCredentials>
<clientCertificate findValue="ClientName" x509FindType="FindBySubjectName" storeLocation="CurrentUser" storeName="My" />
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
कोड है कि तब से कनेक्ट होता है डब्ल्यूसीएफ सेवा:
DuplexChannelFactory<IScannerManager> _smFactory
= new DuplexChannelFactory<IScannerManager>(instanceContext, nameOfEndPoint);
var _commsChannel = _smFactory.CreateChannel();
अब मुझे क्लाइंट प्रमाणपत्र नाम निर्दिष्ट करने की आवश्यकता है जिसे कोड में प्रोग्रामेटिक रूप से उपयोग किया जाएगा। क्या यह मेरे लिए ऐसा करना संभव है? मैं देख सकता हूँ कि मैं अपने ही x509Certificate2 वर्ग बना सकते हैं, लेकिन मुझे यकीन है कि कैसे/findValue="clientName"
बिट सेट बदलने के लिए नहीं कर रहा हूँ ...
धन्यवाद
क्लाइंट प्रमाणपत्र प्रमाणपत्र का उपयोग करने के बारे में, http://msdn.microsoft.com/en-us/library/system.servicemodel.description.clientcredentials.clientcertificate.aspx देखें। यह लिंक भी देखें http://stackoverflow.com/questions/2406136/wcf-certificates-without-certificate- स्टोर जिसमें एक स्निपेट है जो चैनल के एंडपॉइंट व्यवहार में इस संपत्ति को कैसे पहुंचा सकता है। – wal