c# - Authentication failed because the remote party has closed the transport stream -
यह sslStream.AuthenticateAsServer (serverCertificate, true, SslProtocols.Default, true) पर होता है;
कॉल करें।
मैं क्लाइंट प्रमाणीकरण करने का प्रयास कर रहा हूं मैं क्लाइंट और सर्वर दोनों को नियंत्रित करता हूं, दोनों सीएसएलस्ट्रीम के माध्यम से सी हैं I जब मैं एक नोडजे सर्वर का उपयोग करता हूं, तो यह पूरी तरह से कार्य करता है। लेकिन मैं सिर्फ किसी कारण के लिए सी # में मज़बूती से काम करने के लिए सर्वर को प्राप्त नहीं कर सकता स्पष्ट रूप से एसएसएल प्रमाणीकरण क्लाइंट के क्लाइंट प्रमाण पत्र का चयन करने के लिए प्रतीक्षा करने की आवश्यकता है, लेकिन जाहिरा तौर पर यह सी # एसएसएलस्ट्रीम वर्ग के लिए एक सुविधा में निर्मित नहीं है? मैंने पहले ही कॉल करने से पहले ऐसा करने की कोशिश की, लेकिन यह अभी भी तुरंत कॉल पर त्रुटियां आती है:
मैं IE में सुरक्षा प्रश्न को न मानें कोई बात नहीं। मैं इस तथ्य के बारे में चिंतित हूं कि इस तरह के एक बुनियादी szenario के साथ sslstream बिल्कुल काम नहीं करता है।
WCF ट्रेस से त्रुटि:
System.Net त्रुटि: 0 : [7928] अपवाद # 13869071 में अपवाद: अप्रतिबंधित अपवादहैंडलर - प्रमाणीकरण विफल रहा क्योंकि रिमोट पार्टी ने ट्रांसपोर्ट स्ट्रीम को बंद कर दिया है। System.Net.Security.SslState.ValidateCreateContext पर (बूलियन है सर्फर, स्ट्रिंग लक्ष्यहोस्ट, एसएसएलप्रोटोकॉलस सक्षम एसएसएलप्रोटोकॉल, X509 प्रमाणपत्र प्रमाणपत्र प्रमाणपत्र, X509CertificateCollection SystemNet.Security.SslStream.AuthenticateAsServer पर (X509 प्रमाणन सर्वर प्रमाणपत्र, बूलियन क्लाइंट प्रमाणपत्रप्रमाणित, एसएसएलप्रोटोकॉल सक्षम एसएसएलप्रोटोकॉल्स, बूलियन चेकप्रदर्शनआरिवलयन)
< Div class = "post-text" itemprop = "text">
नीचे दिए गए कोड को जोड़ने से मुझे इस समस्या को दूर करने में मदद मिली (मैं एप को .NET 4.5.1 में चला रहा हूं)।
सर्विसपॉईंटमैनगर। सुरक्षाप्रोटोकॉल = सुरक्षाप्रोटोकॉलटाइप। T11;
Comments
Post a Comment