Applies To.NET Framework 3.5 Service Pack 1 Windows 8.1 Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials Windows Server 2012 R2 for Embedded Systems Windows Server 2012 R2 Foundation Windows Server 2012 R2 Preview Windows Server 2012 R2 Standard

.NET framework גירסה 3.5 SP1 וגירסאות קודמות לא סיפקו תמיכה עבור יישומים לשימוש בגירסאות ברירת מחדל של מערכת אבטחת שכבת תעבורה (TLS) כפרוטוקול הצפנה. עדכון זה מאפשר את השימוש ב- TLS v1.2 ב- .NET Framework SP1 3.5.

הערהתוכן  זה הפך לזמין ב- Windows Update. כדי להשיג את התוכן, סרוק Windows עדכון עבור עדכוני .NET Framework האחרונים. אם המערכת שלך מעודכנת באופן מלא באמצעות Windows עדכון, אין צורך לנקוט פעולה נוספת.

פתרון

הורד מידע

התיקון החם המתאים ל- KB3154520 הועבר לעדכונים האחרונים של .NET Framework, המכילים את כל התיקונים שנכללו בעבר ב- KB3154520. מומלץ להתקין את העדכונים האחרונים של .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

    הערה אם היישום הגדיר את ה- API של ServicePointManager.SecureProtocol בקוד או באמצעות קבצי config לערך ספציפי, או משתמש ב- API של SslStream.AuthenticateAs* כדי לציין enum ספציפי של SslProtocols, אופן הפעולה של הגדרת הרישום אינו מתרחש.  

  • בנוסף, הוספנו את סכום SslProtocolsExtensions ש ניתן להשתמש בו כאפשרות להגדרת TLS v1.2, TLS v1.1, וכן ברירות מחדל של מערכת ההפעלה עבור המאפיין ServicePointManager.SecurityProtocol בעת פילוח .NET framework גירסה 2.0 SP2. (עיין בסעיף הדרכה למפתחים לקבלת המידע אודות אופן השימוש בהרחבות.) הערה Windows Vista SP2 ו- Windows 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 Knowledge Base:

119591 כיצד להשיג קבצי תמיכה של Microsoft מהשירותים המקוונים Microsoft סרקה קובץ זה לאיתור וירוסים. Microsoft השתמשה בתוכנה העדכנית ביותר לזיהוי וירוסים, הזמינה בתאריך פרסום הקובץ. הקובץ מאוחסן בשרתים עם אבטחה משופרת, המסייעים למנוע שינויים בלתי מורשים בקובץ.  

הדרכה למפתחים

ההגדרה של ההרחבות החדשות היא בקבצים הבאים:  

  • SecurityProtocolTypeExtensions.csnamespace System.Net { באמצעות System.Security.Authentication; SecurityProtocolTypeExtensions של הכיתה הסטטית הציבורית { public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12; public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11; public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0; } }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication { מחלקה סטטית ציבורית SslProtocolsExtensions { const SslProtocols Tls12 = (SslProtocols)0x00000C00; const SslProtocols Tls11 = (SslProtocols)0x00000300; } }

כדי לכלול את התמיכה עבור TLS v1.2, כלול את קבצי המקור בפרוייקט שלך ולאחר מכן הגדר את גירסת הפרוטוקול באמצעות השיטות הבאות:  

  • יישומים המשתמשים ב- API מבוססי 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. אם התיקון החם אינו מותקן, ממשקי API מבוססי ServicePointManager (HTTP, FTP, SMTP) יתווצג "System.NotSupportedException: פרוטוקול האבטחה המבוקש אינו נתמך". כאשר היישום מתקשר ל- ServicePointManager.SecurityProtocol כדי להגדיר את הערך החדש.

  2. אם התיקון החם אינו מותקן, ממשקי API מבוססי SslStream יתוונו בעת התקשרות לכל אחד ממשקי ה- API של 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 Server

לקוח SSL3

SSL3 Server

לקוח TLS 1.0

TLS 1.0 Server

לקוח TLS 1.1

TLS 1.1 Server

לקוח TLS 1.2

TLS 1.2 Server

Windows Vista SP2 ו- Windows Server 2008 SP2

כבוי

On

On

On

On

On

N/A

N/A

N/A

N/A

Windows 7 SP1 ו- Windows Server 2008 R2 SP1

כבוי

On

On

On

On

On

כבוי

כבוי

כבוי

כבוי

Windows Server 2012

כבוי

כבוי

On

On

On

On

On

On

On

On

Windows 8.1 ו- Windows Server 2012 R2

כבוי

כבוי

On

On

On

On

On

On

On

On

Windows 10

כבוי

כבוי

On

On

On

On

On

On

On

On

Windows 10 (1511)

כבוי

כבוי

On

On

On

On

On

On

On

On

Windows 10 (1607) ו- Windows Server 2016

N/A

N/A

כבוי

כבוי

On

On

On

On

On

On

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.