2008-10-03 15 views
8

मुझे नहीं पता कि मेरे पास इस सवाल को वाक्यांश के लिए आवश्यक सभी जानकारी है, इसलिए मेरे साथ भालू।एसएसएल 2.0 का उपयोग करने के लिए आपको System.Web.HttpWebRequest ऑब्जेक्ट कैसे मिलता है?

मेरे पास एक स्थानीय वेब पेज (स्थानीय अर्थ 192.168। *) है जो एक स्व-हस्ताक्षरित SSL प्रमाणपत्र से संरक्षित है। मैं System.Net.HttpWebRequest ऑब्जेक्ट का उपयोग करके इस पृष्ठ तक पहुंचने का प्रयास कर रहा हूं, लेकिन मैं एक अजीब समस्या में चल रहा हूं।

यदि इस पृष्ठ को इंटरनेट एक्सप्लोरर में "एसएसएल 2.0 का उपयोग करें" विकल्प के साथ एक्सेस किया गया है, तो ब्राउजर एक त्रुटि वापस लौटाता है जैसे कि यह कनेक्शन स्थापित नहीं कर सकता है। (दूसरे शब्दों में, सर्वर से भेजे गए त्रुटि के विपरीत ब्राउज़र कनेक्शन त्रुटि।) यदि "SSL 2.0 का उपयोग करें" विकल्प चालू है, तो पृष्ठ ठीक काम करता है और आपको मानक चेतावनी मिलती है कि यह एक स्व-हस्ताक्षरित प्रमाणपत्र है , क्या आप जारी रखना चाहते हैं, आदि (विचित्र रूप से पर्याप्त, फ़ायरफ़ॉक्स, जो माना जाता है कि एसएसएल 2.0 चालू नहीं है, ठीक काम करता है।)

अब मेरी समस्या यह है कि मैं इस पृष्ठ को HttpWebRequest के साथ एक्सेस करने का प्रयास कर रहा हूं ऑब्जेक्ट और यह वापस लौटने वाली त्रुटि यह है कि कनेक्शन अप्रत्याशित रूप से बंद हो गया है, जैसे कि "एसएसएल 2.0 का उपयोग करें" बंद होने पर त्रुटि आईई फेंकता है। (मेरे पास इस तथ्य को अनदेखा करने के लिए पहले से ही कोड है कि यह एक स्व-हस्ताक्षरित प्रमाण है, लेकिन यह अब तक नहीं पहुंच रहा है।)

मैं System.Net.HttpWebRequest को कैसे प्राप्त करूं, ठीक है, "SSL 2.0 का उपयोग करें "जब यह अपना अनुरोध कर रहा है?

उत्तर

15

एसएसएल 3 से निपटने के दौरान मैंने खुद को यह मुद्दा मारा है, हालांकि मुझे यकीन नहीं है कि क्या एक ही सलाह SSL2 के लिए काम करेगी?

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

अधिक जानकारी के लिए इन कड़ियों चेक आउट::

system.net.servicepointmanager.securityprotocol on MSDN

security protocol enumeration on MSDN

मुद्दा मैं बहुत की तरह सुरक्षा प्रोटोकॉल पर SSL3 ध्वज सेट हल करने के लिए यदि आप भाग्यशाली हैं तो वे आपको सही दिशा में इंगित कर सकते हैं :)

+0

वह था! जैसे ही मैंने इसे स्पष्ट रूप से SSL3 पर सेट किया, यह काम किया। धन्यवाद! –

+0

यह जानकर बहुत अच्छा लगा कि यह काम करता है :) – Bittercoder

+0

बहुत बहुत धन्यवाद। सिस्टम.Net के लिए ट्रेसिंग चालू करने के लिए System.Diagnostics का उपयोग करना मुझे इन लॉग्स सिस्टम को दिया गया है। सूचना: 0: [16212] प्रारंभिक सुरक्षा कॉन्टेक्स्ट (इन-बफर गिनती = 2, आउट-बफर लंबाई = 0, कोड वापस = एल्गोरिदम मिस्चैच)। सिस्टम.Net त्रुटि: 0: [16212] HttpWebRequest # 49844091 में अपवाद :: - अनुरोध निरस्त किया गया था: एसएसएल/टीएलएस सुरक्षित चैनल नहीं बना सका .. सिस्टम.Net त्रुटि: 0: [16212] HttpWebRequest # 498440 9 1 में अपवाद :: GetResponse - अनुरोध निरस्त किया गया था: एसएसएल/टीएलएस सुरक्षित चैनल नहीं बना सका .. ' – barthoda

संबंधित मुद्दे

 संबंधित मुद्दे