دليل المادة
  1. 1. الحل الأول:
  2. 2. الحل 2
    1. 2.1. تحديث التصحيح
    2. 2.2. تعيين القيمة الافتراضية
    3. 2.3. نظام التحقق
  3. 3. الحل الثالث
  4. 4. محتوى مرجعي آخر

الوصف: تم إحباط الطلب: فشل في إنشاء قناة آمنة SSL/TLS. تعذر إنشاء قناة آمنة SSL/TLS.

إنشاء الأنظمة الأساسية: Windows Server 2012، وWindows 7 Service Pack 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

  • إذا لم تنجح الطريقة المذكورة أعلاه، فهذه مشكلة على مستوى النظام. قم بتحديث تصحيح النظام وفقًا للنظام الذي تستخدمه حاليًا.

تحديث لتمكين TLS 1.1 وTLS 1.2 كبروتوكولات الأمان الافتراضية في WinHTTP في Windows، يوفر هذا التحديث الدعم لـ Transport Layer Security (TLS) في Windows Server 2012 وWindows 7 Service Pack 1 (SP1) وWindows Server 2008 R2 SP1 1.1 ودعم TLS 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

تحديث التصحيح

تعيين القيمة الافتراضية

  • تمكين TLS 1.1 و1.2 على نظام التشغيل Windows 7 على مستوى مكون SChannel (اعتمد أحد التحديثات 2.1 أو 2.2 أدناه)

2.1 تقوم Microsoft بتثبيت السجل وتحديثه: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

يفتح PowerShell:

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

الحل الثالث

  • لن تنجح أي من الطريقتين السابقتين. يمكنك فقط استخدام الطريقة النهائية لترقية النظام إلى Windows 10.

محتوى مرجعي آخر

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

الحلول موجودة، لكنها تعتمد على إصدار الإطار:

صافي 4.6 وما فوق. لا تحتاج إلى القيام بأي عمل إضافي لدعم TLS 1.2، فهو مدعوم بشكل افتراضي.

نت 4.5. يتم دعم TLS 1.2، ولكنه ليس البروتوكول الافتراضي. عليك أن تختار استخدامه. يقوم التعليمة البرمجية التالية بتعيين TLS 1.2 كإعداد افتراضي، وتأكد من تنفيذه قبل الاتصال بمورد آمن:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

نت 4.0. TLS 1.2 غير مدعوم، ولكن إذا تم تثبيت .NET 4.5 (أو أعلى) على نظامك، فلا يزال لديك خيار استخدام TLS 1.2 حتى إذا كان إطار عمل التطبيق الخاص بك لا يدعم TLS 1.2. المشكلة الوحيدة هي أن SecurityProtocolType في .NET 4.0 لا يحتوي على إدخال لـ TLS1.2، لذلك يتعين علينا استخدام التمثيل الرقمي لقيمة التعداد هذه:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 أو أقل. TLS 1.2(*) غير مدعوم ولا يوجد حل بديل. قم بترقية التطبيق الخاص بك إلى أحدث إصدار من الإطار.

ملاحظة: بالنسبة للسيناريو 3، هناك أيضًا اختراق للتسجيل سيجبر 4.5 على استخدام TLS 1.2 افتراضيًا دون الحاجة إلى فرضه برمجيًا.
PPS كما ذكر Christian Pop من Microsoft أدناه، هناك أحدث تصحيح متاح لـ .NET 3.5 والذي يتيح دعم TLS1.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. محتوى مرجعي آخر