2012-12-18 23 views
6

Sau khi cài đặt giấy chứng nhận vào Local Computer lưu trữ của Trusted Root Certification Authorities .NET WebRequest vẫn ném:Yêu cầu đã bị hủy bỏ: Không thể tạo SSL/TLS kênh an toàn - SecurityProtocol hành vi

The request was aborted: Could not create SSL/TLS secure channel 

ServicePointManager.SecurityProtocol bây giờ chứa SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls.

Sau khi đọc Simon Dugré của câu trả lời https://stackoverflow.com/a/2904963/121968, tôi đã thiết lập:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

Nó hoạt động ok. Sau khi thiết lập lại:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; 

nó vẫn làm việc ok. Tôi có hai câu hỏi:

  1. Tại sao nó vẫn hoạt động? Có loại bộ nhớ đệm nào không?

  2. Và tại sao trước đây nó chỉ hoạt động với cờ Ssl3 chỉ và không với cả hai Ssl3Tls?

Trả lời

1

Có phiên tiếp tục phiên SSL/TLS, có thể là trường hợp của bạn. Có thể bạn không có mật khẩu mã hóa TLS1 được chia sẻ. Cách tốt nhất để kiểm tra là chạy Wireshark và xem các gói SSL cho kết nối của bạn, chúng được giải thích rất tốt trong Wireshark.

0

Giải pháp của tôi là thêm các dòng:

ServicePointManager.Expect100Continue = True 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls 
Các vấn đề liên quan