Hỗ trợ TLS hệ thống mặc định phiên bản trong .NET Framework 2.0 SP2 trên Windows Vista SP2 và Server 2008 SP2

.NET framework Phiên bản 2.0 Service Pack 2 (SP2) và các phiên bản hardcoded v3.0 Secure Socket Layer (SSL) và Transport Layer Security (TLS) v1.0 theo mặc định trừ khi một phiên bản giao thức khác được chỉ định bởi các ứng dụng .NET. Bản cập nhật này cho .NET Framework 2.0 SP2 trên Windows Vista SP2 và Windows Server 2008 SP2 thêm tùy chọn để sử dụng SSL và TLS mặc định được cung cấp bởi hệ điều hành.

Chú ý nội dung này đã được cung cấp trên Windows Update. Tải xuống nội dung, quét Windows Update để cập nhật mới nhất của .NET Framework. Nếu hệ thống của bạn đầy đủ luôn cập nhật thông qua Windows Update, bạn không phải thực hiện thêm hành động. 

Giải pháp

Thông tin tải xuống

Các tệp sau đây sẵn có để tải xuống từ Microsoft Download Center:Download tải dựa trên x86 bây giờ.Download Tải dựa trên x64 bây giờ.Download Tải dựa trên IA64 bây giờ. Chúng tôi đã thực hiện những cải tiến trong khu vực này:

  • Đăng ký sau phím có thể được đặt để sử dụng hệ điều hành mặc định cho SSL và TLS thay vì hardcoded .NET Framework mặc định cho ứng dụng quản lý chạy trên máy tính.

    • Đối với hệ điều hành 64-bit:[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

    • Đối với hệ điều hành 32-bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Lưu ý Nếu ứng dụng đặt ServicePointManager.SecureProtocol mã hoặc các tập tin cấu hình giá trị cụ thể hoặc sử dụng SslStream.AuthenticateAs* API để chỉ định một enum SslProtocols cụ thể, đăng ký đặt sự cố xảy ra.

  • Ngoài ra, chúng tôi đã thêm đếm SslProtocolsExtensions bạn có thể sử dụng như là một tùy chọn đặt TLS v1.2, TLS v1.1, cũng như các hệ điều hành mặc định cho thuộc tính ServicePointManager.SecurityProtocol khi nhắm mục tiêu .NET Phiên bản Framework 2.0 SP2. (Xem phần Hướng dẫn nhà phát triển để biết thông tin về cách sử dụng phần mở rộng). Lưu ý Windows Vista SP2 và Windows Server 2008 SP2 không hỗ trợ Transport Layer Security (TLS) giao thức phiên bản mới hơn 1.0. Quản lý các ứng dụng .NET Framework 2.0 SP2 chạy trên Windows Vista SP2 hoặc Windows Server 2008 SP2 không thể sử dụng TLS 1.2 hoặc TLS 1.1, ngay cả khi các giao thức được đặt trong thuộc tính ServicePointManager.SecurityProtocol .

Để biết thêm thông tin về cách tải xuống các tệp hỗ trợ Microsoft, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

119591 Cách lấy tệp hỗ trợ của Microsoft từ dịch vụ trực tuyến Microsoft đã quét vi-rút cho tệp này. Microsoft đã sử dụng phần mềm phát hiện vi-rút cập nhật nhất sẵn có tại thời điểm tệp được đăng. Tệp được lưu trên máy chủ được tăng cường bảo mật giúp ngăn chặn mọi thay đổi trái phép đối với tệp.

Hướng dẫn nhà phát triển

Danh sách các phần mở rộng mới có các tệp sau:

  • SecurityProtocolTypeExtensions.csnamespace System.Net{using System.Security.Authentication;public static class 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{public static class SslProtocolsExtensions{public const SslProtocols Tls12 = (SslProtocols)0x00000C00;public const SslProtocols Tls11 = (SslProtocols)0x00000300;}}

Bao gồm hỗ trợ cho TLS v1.2, bao gồm các tệp nguồn trong dự án của bạn và sau đó đặt các phiên bản giao thức bằng cách sử dụng các phương pháp sau:

  • Ứng dụng sử dụng API ServicePointManager dựa trên có thể đặt giao thức bằng cách sử dụng following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Ứng dụng sử dụng quá tải AuthenticateAsClient (String, X509CertificateCollection, SslProtocols, Boolean)SslStream có thể đặt giá trị SslProtocols là SslProtocolsExtensions.Tls12.

Nếu thiết đặt đăng ký được đề cập trong đoạn thứ nhất được đặt giá trị SslProtocols được đặt trong ứng dụng như SslProtocols.None, hành vi mặc định hệ thống được chọn sẽ phụ thuộc vào phiên bản Windows. Ngoài ra, khi bạn thay đổi mã ứng dụng để hỗ trợ cho TLS v1.2 với .NET Framework 3.5 SP1, bạn phải đảm bảo rằng bạn địa chỉ ngoại lệ sau trên máy tính có bản vá này không sử dụng:

  1. Nếu không cài đặt hotfix, ServicePointManager-dựa trên API (HTTP, FTP, SMTP) sẽ ném "System.NotSupportedException: giao thức bảo mật được yêu cầu không được hỗ trợ" khi ứng dụng gọi ServicePointManager.SecurityProtocol đặt giá trị mới.

  2. Nếu không cài đặt hotfix, SslStream-dựa trên API sẽ ném ngoại lệ khi họ gọi một trong các API AuthenticateAs *:

    System.ArgumentException: Giá trị được chỉ định không hợp lệ trong liệt kê 'SslProtocolType'. Tham số tên: sslProtocolType

Lưu ý Cho SslStream , kết hợp Tls12, Tls11 với bất kỳ hiện Tls, Ssl3, Ssl2 (ví dụ: Tls12 | Tls11 | TLS) sẽ tự động giảm cấp giao thức có sẵn (ví dụ: Tls) trên hệ thống mà không cần các bản vá. Nó sẽ kết nối với Tls không ném một ngoại lệ.

Thông tin Bổ sung

Bật TLS v1.1 hoặc v1.2 với hệ điều hành mặc định, hãy làm theo hướng dẫn tại https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Lưu ý TLS v1.1 và v1.2 không sẵn có trong Windows Vista hoặc Windows Server 2008.If bạn muốn vô hiệu hoá hệ điều hành mặc định được đặt bởi khoá đăng ký được đề cập trong phần "Giải pháp" cho ứng dụng cụ thể, bạn có thể thực hiện việc này bằng cách thêm các khoá đăng ký sau:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions<<Full path of the .exe for the file>> DWORD 0C:\MyApp\MyApp.exe DWORD 0

Để biết thêm thông tin về TLS v1.2, hãy xem giới thiệu TLS v1.2. Sau khi bạn kích hoạt khoá đăng ký SystemDefaultTlsVersions .NET, hiện tượng khác xảy ra cho mỗi phiên bản của Windows, như trình bày ở bảng sau.

Phiên bản Windows

Khách hàng SSL2

SSL2 Server

Khách hàng SSL3

Máy chủ SSL3

TLS 1.0 khách

TLS 1.0 Server

TLS 1.1 khách

TLS 1.1 Server

TLS 1.2 khách

TLS 1.2 Server

Windows Vista SP2 và Windows Server 2008 SP2

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

N/A

N/A

N/A

N/A

Windows 7 SP1 và Windows Server 2008 R2 SP1

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Tắt

Tắt

Tắt

Tắt

Windows Server 2012

Tắt

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Windows 8.1 và Windows Server 2012 R2

Tắt

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Windows 10

Tắt

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Windows 10 (1511)

Tắt

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Windows 10 (1607) và Windows Server 2016

N/A

N/A

Tắt

Tắt

Ngày

Ngày

Ngày

Ngày

Ngày

Ngày

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×