Mô tả: Yêu cầu bị hủy: Không tạo được kênh bảo mật SSL/TLS. Không thể tạo kênh bảo mật SSL/TLS. Xây dựng nền tảng: Windows Server 2012, Windows 7 Service Pack 1 (SP1) và Windows Server 2008 R2 SP1
[tập phim] tải xuống trang web Nó là một công cụ tải xuống toàn bộ trang web. Nhập URL để tải xuống chỉ bằng một cú nhấp chuột. Nó đơn giản, dễ sử dụng và có các tác vụ đa luồng.
Đặt mã trước HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Nếu phương pháp trên không hiệu quả thì đó là sự cố ở cấp độ hệ thống. Cập nhật bản vá hệ thống theo hệ thống bạn hiện đang sử dụng.
Bản cập nhật để kích hoạt TLS 1.1 và TLS 1.2 làm giao thức bảo mật mặc định trong WinHTTP trong Windows, bản cập nhật này cung cấp hỗ trợ cho Transport Layer Security (TLS) trong Windows Server 2012, Windows 7 Service Pack 1 (SP1) và Windows Server 2008 R2 SP1 1.1 và hỗ trợ TLS 1.2, vui lòng tham khảo tài liệu chính thức https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Sao chép mã đăng ký sau và nhập mã vào sổ đăng ký. Tạo một txt mới, thay đổi hậu tố txt thành reg (khóa đăng ký) và nhập (tạo bản sao lưu trước khi nhập)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
[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
PowerShell mở ra:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Dòng mã đầu tiên kiểm tra phiên bản TLS được hỗ trợ. Dòng mã thứ hai sửa đổi hỗ trợ TLS.
Cả hai phương pháp trước đều không hiệu quả, vì vậy bạn chỉ có thể sử dụng phương pháp cuối cùng:
Lưu ý: Để biết các phiên bản TSL cụ thể được từng phiên bản Windows hỗ trợ, vui lòng tham khảo thông tin bổ sung trong bài viết này.
Các giải pháp tồn tại, nhưng chúng phụ thuộc vào phiên bản khung:
.NET 4.6 trở lên. Bạn không cần thực hiện thêm bất kỳ thao tác nào để hỗ trợ TLS 1.2, nó được hỗ trợ theo mặc định.
.NET 4.5. TLS 1.2 được hỗ trợ nhưng không phải là giao thức mặc định. Bạn cần phải chọn để sử dụng nó. Đoạn mã sau đặt TLS 1.2 làm mặc định, hãy đảm bảo thực thi nó trước khi kết nối với tài nguyên an toàn:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2 không được hỗ trợ, nhưng nếu .NET 4.5 (hoặc cao hơn) được cài đặt trên hệ thống của bạn, bạn vẫn có tùy chọn sử dụng TLS 1.2 ngay cả khi khung ứng dụng của bạn không hỗ trợ TLS 1.2. Vấn đề duy nhất là SecurityProtocolType trong .NET 4.0 không có mục nhập cho TLS1.2, vì vậy chúng ta phải sử dụng cách biểu diễn bằng số của giá trị enum này:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 trở xuống. TLS 1.2(*) không được hỗ trợ và không có cách giải quyết. Nâng cấp ứng dụng của bạn lên phiên bản mới nhất của framework.
PS Đối với kịch bản 3, cũng có một vụ hack sổ đăng ký sẽ buộc 4.5 sử dụng TLS 1.2 theo mặc định mà không cần phải ép buộc theo chương trình. PPS Như Christian Pop của Microsoft đề cập bên dưới, có một bản vá mới nhất dành cho .NET 3.5 cho phép hỗ trợ TLS1.2.
Nhìn thấy:
Có thể độ dài khóa chứng chỉ do trang web cung cấp là 512 bit và theo tiêu chuẩn ngành hiện hành, nó phải chứa khóa chung không dưới 2048 bit. Bản cập nhật bảo mật tháng 9 năm 2016 của Microsoft đã phản hồi vấn đề này bằng cách tuyên bố rằng nếu độ dài khóa chung nhỏ hơn 2048 byte (ví dụ: RSA 512),Windows có thể hủy kết nối HTTPS
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
Giá trị mặc định .net 4.0/4.5: SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 .net 4.6/4.7 giá trị mặc định: SecurityProtocolType.Tls | SecurityProtocolType.Tls11 |
SCH_USE_strong_CRYPTO Cờ này sẽ được sử dụng tự động trong .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Trong Win7Sp1 và .Net 3.5.1, TLS1.2 được hỗ trợ
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Đóng ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00;
Kết luận của TLS1.2 là thế này:
Sửa đổi sổ đăng ký theo .net4
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001
Bài viết này được viết bởitải xuống trang webĐược sưu tầm và sắp xếp, nội dung được lấy từ Internet, vui lòng ghi rõ nguồn khi in lại, xin cảm ơn.