आलेख निर्देशिका
  1. 1. समाधान एक:
  2. 2. समाधान 2
    1. 2.1. अद्यतन पैच
    2. 2.2. डिफ़ॉल्ट मान सेट करें
    3. 2.3. सत्यापन प्रणाली
  3. 3. समाधान तीन
  4. 4. अन्य संदर्भ सामग्री

विवरण: अनुरोध निरस्त किया गया: एसएसएल/टीएलएस सुरक्षित चैनल बनाने में विफल। एसएसएल/टीएलएस सुरक्षित चैनल नहीं बनाया जा सका.

प्लेटफ़ॉर्म बनाएँ: Windows Server 2012, Windows 7 सर्विस पैक 1 (SP1), और Windows Server 2008 R2 SP1

समाधान एक:

HttpWebRequest से पहले कोड सेट करें

ServicePointManager.Expect100Continue = true;

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

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

समाधान 2

  • यदि उपरोक्त विधि काम नहीं करती है, तो यह एक सिस्टम-स्तरीय समस्या है। आपके द्वारा वर्तमान में उपयोग किए जा रहे सिस्टम के अनुसार सिस्टम पैच को अपडेट करें।

विंडोज़ में WinHTTP में टीएलएस 1.1 और टीएलएस 1.2 को डिफ़ॉल्ट सुरक्षा प्रोटोकॉल के रूप में सक्षम करने के लिए अद्यतन, यह अद्यतन विंडोज़ सर्वर 2012, विंडोज़ 7 सर्विस पैक 1 (एसपी1) और विंडोज़ सर्वर 2008 आर2 एसपी1 1.1 में ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) के लिए समर्थन प्रदान करता है। और टीएलएस 1.2 समर्थन, कृपया आधिकारिक दस्तावेज़ देखेंhttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

अद्यतन पैच

डिफ़ॉल्ट मान सेट करें

  • SChannel घटक स्तर पर Windows 7 पर TLS 1.1 और 1.2 सक्षम करें (नीचे दिए गए 2.1 या 2.2 अपडेट में से एक को अपनाएं)

2.1. माइक्रोसॉफ्ट रजिस्ट्री को स्थापित और अद्यतन करता है:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2. रजिस्ट्री को मैन्युअल रूप से अद्यतन करें, निम्नलिखित रजिस्ट्री कोड की प्रतिलिपि बनाएँ और इसे रजिस्ट्री में आयात करें। एक नया txt बनाएं, प्रत्यय txt को reg (रजिस्ट्री कुंजी) में बदलें, और आयात करें (आयात करने से पहले एक बैकअप बनाएं)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

सत्यापन प्रणाली

  • सत्यापित करें कि सिस्टम TLS1.2, TLS1.3 का समर्थन करता है या नहीं

पावरशेल खुलता है:

Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

समाधान तीन

  • पिछली दो विधियों में से कोई भी काम नहीं करेगी। आप सिस्टम को विंडोज 10 में अपग्रेड करने के लिए केवल अंतिम विधि का उपयोग कर सकते हैं।

अन्य संदर्भ सामग्री

https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

समाधान मौजूद हैं, लेकिन वे फ़्रेमवर्क संस्करण पर निर्भर करते हैं:

.NET 4.6 और ऊपर. आपको टीएलएस 1.2 का समर्थन करने के लिए कोई अतिरिक्त कार्य करने की आवश्यकता नहीं है, यह डिफ़ॉल्ट रूप से समर्थित है।

.नेट 4.5. टीएलएस 1.2 समर्थित है, लेकिन यह डिफ़ॉल्ट प्रोटोकॉल नहीं है। आपको इसका उपयोग करना चुनना होगा. निम्नलिखित कोड टीएलएस 1.2 को डिफ़ॉल्ट के रूप में सेट करता है, सुरक्षित संसाधन से कनेक्ट करने से पहले इसे निष्पादित करना सुनिश्चित करें:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. टीएलएस 1.2 समर्थित नहीं है, लेकिन यदि आपके सिस्टम पर .NET 4.5 (या उच्चतर) स्थापित है, तो आपके पास अभी भी टीएलएस 1.2 का उपयोग करने का विकल्प है, भले ही आपका एप्लिकेशन फ्रेमवर्क टीएलएस 1.2 का समर्थन नहीं करता हो। एकमात्र समस्या यह है कि .NET 4.0 में SecurityProtocolType में TLS1.2 के लिए कोई प्रविष्टि नहीं है, इसलिए हमें इस एनम मान के संख्यात्मक प्रतिनिधित्व का उपयोग करना होगा:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 या उससे कम. टीएलएस 1.2(*) समर्थित नहीं है और कोई समाधान नहीं है। अपने एप्लिकेशन को फ़्रेमवर्क के नवीनतम संस्करण में अपग्रेड करें।

PS परिदृश्य 3 के लिए, एक रजिस्ट्री हैक भी है जो 4.5 को प्रोग्रामेटिक रूप से बाध्य किए बिना डिफ़ॉल्ट रूप से टीएलएस 1.2 का उपयोग करने के लिए बाध्य करेगा।
पीपीएस जैसा कि माइक्रोसॉफ्ट के क्रिश्चियन पॉप ने नीचे उल्लेख किया है, .NET 3.5 के लिए एक नवीनतम पैच उपलब्ध है जो टीएलएस1.2 समर्थन को सक्षम बनाता है।
देखना:
KB3154518 – विश्वसनीयता रोलअप HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – विश्वसनीयता रोलअप HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – विश्वसनीयता रोलअप HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

आलेख निर्देशिका
  1. 1. समाधान एक:
  2. 2. समाधान 2
    1. 2.1. अद्यतन पैच
    2. 2.2. डिफ़ॉल्ट मान सेट करें
    3. 2.3. सत्यापन प्रणाली
  3. 3. समाधान तीन
  4. 4. अन्य संदर्भ सामग्री