2016-04-22 55 views
9

Hiện tại tôi đang phát triển một ứng dụng sử dụng Xamarin.Forms. Tôi đã gặp sự cố với giao thức TLS.TLS 1.1/1.2 hỗ trợ cho Xamarin.Android

Ứng dụng của tôi sử dụng API. Vì lý do bảo mật, API sử dụng HTTPS. Tuần này chúng tôi quyết định xóa hỗ trợ của TLS 1.0 để chỉ chấp nhận TLS 1.1 và 1.2 ở phía máy chủ, nhưng sau khi chúng tôi thực hiện thay đổi này, tôi nhận thấy rằng ứng dụng của tôi đã ngừng hoạt động.

Trong khi gỡ lỗi, tôi nhận thấy rằng lệnh gọi API ném một ngoại lệ (tôi đang sử dụng lớp HttpClient từ .Net). Bằng cách tìm kiếm các giải pháp trên Internet, tôi thấy rằng nhiều người nghĩ rằng vấn đề có liên quan đến hỗ trợ TLS.

Tôi đã giải quyết sự cố này trên Android và iOS bằng cách sử dụng plugin có tên ModernHTTPClient nhưng một trong các khách hàng của tôi đã báo cáo rằng trên thiết bị của mình chạy trên Android họ vẫn gặp sự cố (anh ấy đang chạy thiết bị chạy Android 4.2).

Kiểm tra tài liệu Android Tôi thấy rằng phiên bản này có hỗ trợ nhưng không được bật theo mặc định và phần cứng là không có nhiều tài liệu trên Internet về cách tôi có thể kích hoạt tài liệu này.

Bất kỳ lời khuyên nào về cách tôi có thể kích hoạt tính năng này? Xamarin.Android có hỗ trợ gốc cho TLS 1.1 trở lên không?

Cảm ơn

+0

Bạn có thể đăng thông tin cụ thể về ngoại lệ chính được ném từ HttpClient không? – Fer

Trả lời

1

ModernHTTPClient nên sử dụng xử lý HTTP gốc của nền tảng. Có vẻ như bây giờ bạn có thể xây dựng nó theo cách thủ công bằng cách sử dụng thao tác kéo này: https://github.com/paulcbetts/ModernHttpClient/pull/210

+0

Cảm ơn Joe, có cách tiếp cận này khắc phục được sự cố của tôi. – avmauricio

+0

Ngoài ra, hãy đề xuất hỗ trợ cho Ứng dụng Windows. –