2015-05-23 16 views
6

क्या RestSharp & TLS 1.1 का उपयोग करने के साथ कोई ज्ञात समस्या है? हम वर्तमान में एक विक्रेता को पोस्ट अनुरोध भेजने के लिए RestSharp का उपयोग करते हैं। यह विक्रेता अब टीएलएस 1.0 कनेक्शन स्वीकार करने और टीएलएस 1.1 में बदलने के लिए नहीं जा रहा है।RestSharp & TLS 1.1

समस्या तब होती है जब वे टीएलएस 1.0 से टीएलएस 1.1 तक स्विच करते हैं तो रेस्टशर्प कोड अब हम काम नहीं करते हैं।

मैंने 2008 आर 2 (1.1 और 1.2 के लिए रजिस्ट्री सेटिंग्स को सक्षम करने के बाद) और विंडोज 8.1 पर इसका परीक्षण किया है। वे TLS 1.1 के लिए स्विच और RestResponse है:

"अंतर्निहित कनेक्शन बंद कर दिया गया था: एक भेजें पर एक अप्रत्याशित त्रुटि हुई" वापस TLS 1.0 और कोई समस्या नहीं करने के लिए

स्विच। मैंने Google क्रोम का उपयोग करके अपनी साइट तक पहुंच का परीक्षण किया है और यह टीएलएस 1.1 दिखाता है ताकि सर्वर और क्लाइंट वर्कस्टेशन टीएलएस 1.1 का उपयोग करने में सक्षम हो। यह बस RestSharp लगता है कि यह मुद्दा है ...

उत्तर

12

मुझे विभिन्न प्रोटोकॉल का उपयोग करने के लिए RestSharp को कॉन्फ़िगर करने का कोई तरीका नहीं मिला है। लेकिन तुम जा रहे अनुरोध को पहले ServicePointManager में डिफ़ॉल्ट प्रोटोकॉल ओवरराइड कर सकते हैं:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11; 

इस मुद्दे को हल। आप डिफ़ॉल्ट रूप से टीएलएस 1.1/1.2 का उपयोग करने के लिए विंडोज रजिस्ट्री सेटिंग्स भी बदल सकते हैं। संबंधित प्रश्न में Here is अधिक जानकारी।

+1

एफवाईआई, इसके लिए .NET 4.5 या उच्चतम की आवश्यकता है, जो XP/Server 2003 पर नहीं चलेंगे। (ओपी को प्रभावित नहीं करता है, लेकिन ध्यान देने योग्य है) – ps2goat

+0

यह उत्तर मेरे लिए काम नहीं करता है। .NET 4.5.2 पर चल रहा है और यह अभी भी – emirhosseini

+3

विफल रहता है जिनके लिए यह चिंता कर सकता है: 'ServicePointManager' ऑब्जेक्ट' System.Net' नामस्थान से आता है, और एक स्थिर-जैसी स्थिति बनाए रखता है। तो, उस नामस्थान का केवल "उपयोग" करें और उत्तर दिए गए कोड को निष्पादित करें * एक बार * संबंधित ऑपरेशन निष्पादित करने से पहले चाल चलती है। – kmonsoor