क्या नेटसीसीपी बाइंडिंग के साथ डब्ल्यूसीएफ एसएसएल का उपयोग करने का कोई तरीका है जिसे क्लाइंट मशीन पर क्लाइंट प्रमाणपत्र स्थापित करने की आवश्यकता नहीं होगी? (एसएसएल वी 2 अगर मुझे गलत नहीं है)।क्लाइंट सर्टिफिकेट के बिना टीसीपी पर डब्ल्यूसीएफ एसएसएल प्रमाण पत्र का उपयोग (केवल सर्वर पक्ष)
हम चाहते हैं कि सर्वर प्रमाणपत्र ग्राहक के विश्वसनीय स्टोर में प्रमाणीकरण के लिए होगा और सर्वर की सार्वजनिक कुंजी द्वारा अपना संदेश एन्क्रिप्ट कर रहा है, जिसका अर्थ है कि केवल सर्वर मशीन एक निजी कुंजी प्रमाणपत्र रखेगी।
हम नेटटीसीपी बाइंडिंग का उपयोग कर रहे हैं और दोनों पक्षों पर कस्टम बाइंडिंग नहीं कर रहे हैं। यदि यह किया जा सकता है, तो इसके लिए सही कॉन्फ़िगरेशन क्या है? (क्लाइंट & सर्वर कॉन्फ़िगरेशन पर)
अग्रिम धन्यवाद।
यहां मेरे डब्ल्यूसीएफ कॉन्फिग हैं।
सर्वर Config:
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="TcpSecureBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate"/>
</security>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceCredentialsBehavior">
<serviceDebug includeExceptionDetailInFaults="True" />
<serviceMetadata httpGetEnabled="true" />
<serviceAuthorization
principalPermissionMode="UseWindowsGroups">
</serviceAuthorization>
<serviceCredentials>
<windowsAuthentication includeWindowsGruops="true"
allowAnonymousLogons="false"/>
<clientCertificate>
<authentication certificateValidationMode="none"/>
</clientCertificate>
<serverCertificate
findValue="thumbprint"
storelocation="LocalMachine"
x509FindType="FindMyThumbprint"
storeName="My"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceCredentialsBehavior"
name="ServiceModel.Calculator">
<endpoint address="net.tcp://localhost:8040/Calculator"
binding="netTcpBinding"
bindingConfiguration="TcpSecureBinding"
contract="ServiceModel.ICalculator" >
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</service>
</services>
</system.serviceModel>
</configuration>
ग्राहक कॉन्फ़िग:
<configuration>
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:8040/Calculator"
behaviorConfiguration="endpointCredentialBehavior"
binding="netTcpBinding"
bindingConfiguration="Binding1"
contract="ServiceModel.ICalculator">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="endpointCredentialBehavior">
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
im मेरे वर्तमान सर्वर & ग्राहक कॉन्फ़िगरेशन जोड़ने। एक और सवाल:
प्रमाणीकरण स्तर पर हम ग्राहक वहाँ सर्वर के प्रमाणपत्र को प्रमाणित करने के (मुझे लगता है कि सर्वर की सार्वजनिक कुंजी trustedPeople दुकान में होना चाहिए), यह संभव है करना चाहते हैं?
क्या आप हमें परिवहन सुरक्षा या संदेश का उपयोग करने की सलाह देते हैं?
अगर हम NTLM (clientCredentialType = विंडोज़) द्वारा ग्राहक & सर्वर प्रमाणीकरण करना चाहते हैं यह सर्वर का प्रमाणपत्र प्रमाणीकरण के अलावा किया जा सकता है या सिर्फ उन में से एक लागू किया जा सकता है? अब तक, हमने एनटीएलएम प्रमाणीकरण का उपयोग किया है।
अभी हो रही अपवाद im: "का अनुरोध किया उन्नयन द्वारा समर्थित नहीं है 'net.tcp: // servername: 8040/**' (उदाहरण के सुरक्षा के लिए पर सक्षम इस बेमेल बाइंडिंग की वजह से हो सकता है। क्लाइंट और सर्वर पर नहीं)। " मुझे यह त्रुटि हुई है क्योंकि ग्राहक ओम सर्टिफिकेट, में विंडोज सुरक्षा और सर्वर का उपयोग कर रहा है, लेकिन जब मैं प्रमाणपत्र में क्लाइंट सुरक्षा बदल रहा हूं, तो मुझे त्रुटि मिल रही है: "क्लाइंट प्रमाणपत्र प्रदान नहीं किया गया है"। लेकिन मैं ग्राहक के प्रमाण पत्र को सेट नहीं करना चाहता हूं और यह मेरी मुख्य समस्या का हिस्सा है।
हम पढ़ा है कि हम इस टैग सर्वर का प्रमाणपत्र सत्यापन के लिए प्रयोग कर सकते हैं:
<identity> <certificate encodedValue="encoded certificate"/> </identity>
लेकिन, मैं पहचान करके इस प्रमाणीकरण एक इनकोडिंग प्रमाण पत्र द्वारा किया जाता है जब हम preffer लगता है कि प्रमाणपत्र की पहचान करेंगे क्लाइंट के स्टोर (विश्वसनीय लोगों) में सर्वर की सार्वजनिक कुंजी खोजकर प्रदर्शन किया जाए। क्या यह जानकारी वास्तव में सच है? पहचान का यह टैग ग्राहक में "एस भरोसेमंद दुकान सार्वजनिक कुंजी खोज करने के लिए वैकल्पिक यह आप netTcpBiding का उपयोग करने और उपयोग करने की आवश्यकता कर रहे हैं रहे हैं?
आशा है कि आप इस शिष्टाचार में, धन्यवाद फिर से सहायता करने में सक्षम हो जाएगा।
यह संभव है। अब तक तुमने क्या प्रयास किये हैं? – Bernard
आपको क्लाइंट प्रमाण पत्र की आवश्यकता नहीं है जबतक कि आप विशेष रूप से एक के लिए नहीं पूछते; आपकी बाध्यकारी कॉन्फ़िगरेशन कैसा दिखता है? –
क्या कोई मेरी समस्या के साथ मेरी सहायता कर सकता है ?? – AmirT