2015-06-16 55 views
8

Có một ứng dụng cửa sổ ứng dụng 8.1 được kết nối với dịch vụ web qua WCF. Gần đây TLS 1.2 đã được đặt ở máy chủ và kết quả là ứng dụng đã ngừng hoạt động. Dưới đây là ngoại lệ xảy raCách làm cho cửa sổ lưu trữ ứng dụng hoạt động với TLS 1.2?

lỗi khi đưa ra yêu cầu HTTP để https://services.companyname.com này có thể là do thực tế là các chứng chỉ máy chủ không được cấu hình đúng cách với http.sys trong trường hợp HTTPS. Điều này cũng có thể do sự không khớp của ràng buộc bảo mật giữa máy khách và máy chủ.

Ngay cả một yêu cầu web đơn giản

WebRequest request = WebRequest.Create(SERVER_URL_PROD); 
WebResponse response = await request.GetResponseAsync(); 

lợi nhuận sau

Một ngoại lệ của loại 'System.Net.WebException' xảy ra ở mscorlib.dll nhưng đã không được xử lý trong sử dụng mã

Thông tin bổ sung: Kết nối cơ bản đã bị đóng: An lỗi không mong muốn xảy ra khi gửi.

Vậy làm cách nào để làm cho ứng dụng cửa hàng cửa hàng hoạt động với TLS 1.2?

Cập nhật

Đoạn mã trên làm việc trong một ứng dụng giao diện điều khiển (.NET 4.5) nếu

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

Nhưng ServicePointManager không có sẵn cho các ứng dụng Windows Store

Cập nhật 2

Ngoài ra, mã hoạt động trong Windows Ph một 8.1 trong đó ServicePointManagerkhông phải là khả dụng.

+0

Câu hỏi hay. Tôi cũng muốn thêm tls 1.2 vào cửa sổ ứng dụng điện thoại/máy tính bảng. – Watson

+0

Bạn có thể kiểm tra máy chủ của mình bằng https://www.ssllabs.com/ssltest/analyze.html để xác minh rằng CipherSuits hỗ trợ có sẵn. –

Trả lời

0

Tôi đã xử lý vấn đề TLS 1.2 cho các ứng dụng web và như đề cập OP, giải pháp đơn giản cho System.Net.ServicePointManager không hoạt động trong ứng dụng Windows Store.

Cách giải quyết khác là sử dụng Windows.Web.Http thay vì System.Net.Http như được mô tả trong bài đăng MSDN forum này.

Các vấn đề liên quan