لم يوفر إصدار .NET framework 3.5.1 والإصدارات السابقة الدعم للتطبيقات لاستخدام الإصدارات الافتراضية لنظام أمان طبقة النقل (TLS) كبروتوكول تشفير. يمكن هذا التحديث استخدام TLS v1.2 في .NET Framework 3.5.1.

ملاحظةيتوفر  هذا المحتوى على Windows التحديث. للحصول على المحتوى، امسح Windows التحديث للحصول على آخر .NET Framework الأخيرة. إذا كان نظامك محدثا بالكامل عبر Windows التحديث، لست بحاجة إلى اتخاذ المزيد من الإجراءات.

الحل

معلومات التنزيل

تم حل المشكلة التي تتطابق مع KB3154518 فوق التحديثات الأخيرة ل .NET Framework، والتي تحتوي على كل الإصلاحات التي تم تضمينها مسبقا في KB3154518. من المستحسن تثبيت التحديثات الأخيرة من .NET Framework.

لقد قمنا بالتحسينات التالية في هذا المجال:

  • يمكن تعيين مفاتيح التسجيل التالية لاستخدام الإعدادات الافتراضية لنظام التشغيل ل SSL و TLS بدلا من الإعدادات الافتراضية .NET Framework لتطبيق مدار يتم تشغيله على الكمبيوتر.

    • 64 بت أنظمة التشغيل:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    • 32 بت أنظمة التشغيل:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    ملاحظة إذا كان التطبيق قد حدد ServicePointManager.SecureProtocol في التعليمات البرمجية أو من خلال ملفات الإحاطة إلى قيمة معينة، أو يستخدم واجهات برمجة تطبيقات SslStream.AuthenticateAs* لتحديد تعداد SslProtocols معين، لا يحدث سلوك إعداد التسجيل.

  • بالإضافة إلى ذلك، أضفنا تعداد SslProtocolsExtensions الذي يمكنك استخدامه كخيار لإعداد TLS v1.2 و TLS v1.1، بالإضافة إلى الإعدادات الافتراضية لنظام التشغيل ل الخاصية ServicePointManager.SecurityProtocol عند استهداف الإصدار .NET framework الإصدار 2.0 SP2. (راجع القسم إرشادات المطور للحصول على معلومات حول كيفية استخدام الملحقات.)

    ملاحظة Windows لا يدعم كل من Windows Vista SP2 وSER Server 2008 SP2 إصدارات بروتوكول أمان طبقة النقل (TLS) الأحدث من 1.0. يتعذر على تطبيقات .NET Framework 2.0 SP2 المدارة التي يتم تشغيلها على Windows Vista SP2 أو Windows Server 2008 SP2 استخدام TLS 1.2 أو TLS 1.1، حتى إذا تم تعيين هذه البروتوكولات في الخاصية ServicePointManager.SecurityProtocol.


لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft، انقر فوق رقم المقالة التالية لعرض المقالة في قاعدة معارف Microsoft:

119591 كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت التي قامت Microsoft بفحص هذا الملف بحثا عن الفيروسات. استخدمت Microsoft أحدث برنامج للكشف عن الفيروسات كان متوفرا في تاريخ نشر الملف. يتم تخزين الملف على خوادم محسنة أمان تساعد على منع أي تغييرات غير مصرح بها على الملف.

إرشادات المطور

يوجد تعريف الملحقات الجديدة في الملفات التالية:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    باستخدام System.Security.Authentication؛
    SecurityProtocolTypeExtensions للفئة الثابتة العامة
    {
    const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
    const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
    const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
    }
    }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication
    {
    SslProtocolsExtensions للفئة الثابتة العامة
    {
    const العامة SslProtocols Tls12 = (SslProtocols)0x00000C00;
    const العامة SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

لتضمين دعم TLS v1.2، قم بتضمين الملفات المصدر في المشروع، ثم قم بتعيين إصدار البروتوكول باستخدام الأساليب التالية:
 

  • يمكن للتطبيقات التي تستخدم واجهات برمجة التطبيقات المستندة إلى ServicePointManager تعيين البروتوكول باستخدام ما يلي:

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • يمكن للتطبيقات التي تستخدم التحميل الزائد SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) تعيين قيمة SslProtocols ك SslProtocolsExtensions.Tls12.

إذا تم تعيين إعداد التسجيل المذكور في الفقرة الأولى، وقيمة SslProtocols في التطبيق ك SslProtocols.None، سيعتمد السلوك الافتراضي للنظام الذي يتم اختياره على إصدار Windows.

أيضا، عند تغيير رمز التطبيق لتمكين دعم TLS v1.2 مع .NET Framework 3.5 SP1، يجب التأكد من معالجة الاستثناءات التالية على أجهزة الكمبيوتر التي لم يتم نشر هذا التصحيح عليها:
 

  1. إذا لم يتم تثبيت hotfix، فإن واجهات برمجة التطبيقات المستندة إلى ServicePointManager (HTTP، FTP، SMTP) ستلقي "System.NotSupportedException: بروتوكول الأمان المطلوب غير معتمد" عندما يتصل التطبيق ب ServicePointManager.SecurityProtocol لتعيين القيمة الجديدة.

  2. إذا لم يتم تثبيت hotfix، فإن واجهات برمجة التطبيقات المستندة إلى SslStream ست طرح استثناءات عند استدعاء أي من واجهات برمجة التطبيقات AuthenticateAs* :

    System.ArgumentException: القيمة المحددة غير صالحة في تعداد 'SslProtocolType'.
    اسم المعلمة: sslProtocolType

ملاحظة ل SslStream فقط، مجموعة من Tls12، Tls11 مع أي من Tls الموجودة، Ssl3، Ssl2 (على سبيل المثال: Tls12 | Tls11 | سيتم تخفيض درجات Tls بصمت إلى البروتوكولات الموجودة (على سبيل المثال: Tls) على نظام بدون التصحيح. سيتم الاتصال ب Tls دون طرح الاستثناء.
 

مزيد من المعلومات

لتمكين TLS v1.1 أو v1.2 كافتراضيات لنظام التشغيل، اتبع الإرشادات الموجودة في https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.

ملاحظة TLS v1.1 وv1.2 غير متوفرين في Windows Vista أو Windows Server 2008.

إذا كان عليك تعطيل الإعدادات الافتراضية لنظام التشغيل التي تم تعيينها بواسطة مفتاح التسجيل المذكور في المقطع "الدقة" للتطبيقات المحددة، يمكنك القيام بذلك عن طريق إضافة مفتاح التسجيل التالي:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<المسار الكامل ل .exe للملف>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

لمزيد من المعلومات حول TLS v1.2، راجع تقديم TLS v1.2.

بعد تمكين مفتاح تسجيل SystemDefaultTlsVersions .NET، يحدث سلوك مختلف لكل إصدار من إصدارات Windows، كما هو موضح في الجدول التالي.
 

Windows الإصدار

عميل SSL2

خادم SSL2

عميل SSL3

خادم SSL3

عميل TLS 1.0

خادم TLS 1.0

عميل TLS 1.1

خادم TLS 1.1

عميل TLS 1.2

خادم TLS 1.2

Windows Vista SP2 Windows Server 2008 SP2

إيقاف التشغيل

في

في

في

في

في

N/A

N/A

N/A

N/A

Windows 7 SP1 Windows Server 2008 R2 SP1

إيقاف التشغيل

في

في

في

في

في

إيقاف التشغيل

إيقاف التشغيل

إيقاف التشغيل

إيقاف التشغيل

Windows Server 2012

إيقاف التشغيل

إيقاف التشغيل

في

في

في

في

في

في

في

في

Windows 8.1 Windows Server 2012 R2

إيقاف التشغيل

إيقاف التشغيل

في

في

في

في

في

في

في

في

Windows 10

إيقاف التشغيل

إيقاف التشغيل

في

في

في

في

في

في

في

في

Windows 10 (1511)

إيقاف التشغيل

إيقاف التشغيل

في

في

في

في

في

في

في

في

Windows 10 (1607) Windows Server 2016

N/A

N/A

إيقاف التشغيل

إيقاف التشغيل

في

في

في

في

في

في

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات

استكشاف التدريب >

الحصول على الميزات الجديدة أولاً

الانضمام إلى MICROSOFT INSIDERS >

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×