Bagikan melalui


Keamanan Lapisan Transportasi (TLS) 1.2

Menggunakan versi terbaru Keamanan Lapisan Transportasi (TLS) penting untuk memastikan komunikasi jaringan aplikasi aman.

Peringatan

April 2018 – Karena peningkatan persyaratan keamanan, termasuk kepatuhan PCI, penyedia cloud utama dan server web diharapkan berhenti mendukung versi TLS yang lebih lama dari 1.2. Proyek Xamarin yang dibuat di versi Visual Studio sebelumnya default untuk menggunakan versi TLS yang lebih lama.

Untuk memastikan aplikasi Anda terus bekerja dengan server dan layanan ini, Anda harus memperbarui proyek Xamarin Anda untuk menggunakan pengaturan di bawah ini, lalu membuat ulang dan menyebarkan ulang aplikasi Anda kepada pengguna Anda.

Proyek harus mereferensikan rakitan System.Net.Http dan dikonfigurasi seperti yang ditunjukkan di bawah ini.

Memperbarui Xamarin.Android ke TLS 1.2

Perbarui implementasi HttpClient dan opsi implementasi SSL/TLS untuk mengaktifkan keamanan TLS 1.2.

Catatan

Memerlukan Android 5.0 atau yang lebih baru.

Pengaturan ini dapat ditemukan di Opsi Android Properti > Proyek lalu mengklik tombol Tingkat Lanjut:

Konfigurasikan HttpClient dan TLS di Visual Studio untuk perangkat Android.

Memperbarui Xamarin.iOS ke TLS 1.2

Perbarui opsi Implementasi HttpClient untuk mengaktifkan keamanan TSL 1.2.

Pengaturan ini dapat ditemukan di Build iOS Properti > Proyek:

Konfigurasikan HttpClient dan TLS di Visual Studio untuk perangkat i O S.

Memperbarui Xamarin.Mac ke TLS 1.2

Di Visual Studio untuk Mac, untuk mengaktifkan TLS 1.2 di aplikasi Xamarin.Mac, perbarui opsi Implementasi HttpClient di Build Mac Build > Opsi > Proyek:

Mengonfigurasi HttpClient di Visual Studio untuk Mac

Peringatan

Rilis Xamarin.Mac 4.8 yang akan datang hanya akan mendukung macOS 10.9 atau yang lebih tinggi. Versi Xamarin.Mac sebelumnya mendukung macOS 10.7 atau yang lebih tinggi, tetapi versi macOS yang lebih lama ini tidak memiliki infrastruktur TLS yang memadai untuk mendukung TLS 1.2. Untuk menargetkan macOS 10.7 atau macOS 10.8, gunakan Xamarin.Mac 4.6 atau yang lebih lama.

Opsi konfigurasi alternatif

Bagian ini membahas alternatif untuk konfigurasi yang didukung TLS 1.2 yang ditunjukkan di atas. Pengembang aplikasi hanya boleh mempertimbangkan alternatif ini jika mereka memahami risiko penggunaan tingkat dukungan TLS yang berbeda.

Implementasi HttpClient

Pengembang Xamarin selalu dapat menggunakan kelas jaringan asli dalam kode mereka, namun ada juga opsi yang menentukan tumpukan jaringan mana yang digunakan oleh HttpClient kelas. Ini menyediakan .NET API yang akrab yang memiliki kecepatan dan keuntungan keamanan dari platform asli.

Opsinya adalah:

  • Tumpukan terkelola – fungsionalitas jaringan yang disediakan Mono, atau
  • Tumpukan asli – berbagai API jaringan yang disediakan oleh platform yang mendasar (Android, iOS, atau macOS).

Tumpukan terkelola menyediakan tingkat kompatibilitas tertinggi dengan kode .NET yang ada, namun dapat lebih lambat dan menghasilkan ukuran yang dapat dieksekusi yang lebih besar.

Opsi asli bisa lebih cepat dan memiliki keamanan yang lebih baik (termasuk TLS 1.2), tetapi mungkin tidak menyediakan semua fungsionalitas dan opsi HttpClient kelas.

Implementasi SSL/TLS (Android)

Opsi proyek Android juga memungkinkan Anda memilih implementasi SSL/TLS mana yang akan didukung:

  • Mono/Managed – TLS 1.1 di Android
  • Native – TLS 1.2 di Android.

Proyek Xamarin baru default ke implementasi asli yang mendukung TLS 1.2 (yang direkomendasikan untuk semua proyek), namun Anda dapat beralih kembali ke kode terkelola jika diperlukan karena alasan kompatibilitas.

Penting

Opsi Mono/Terkelola telah dihapus dari opsi proyek iOS dan Mac .

Opsi Asli selalu digunakan pada platform iOS dan Mac.

Detail khusus platform

Ringkasan di atas menjelaskan pengaturan tingkat proyek untuk implementasi HttpClient dan SSL/TLS dalam Proyek Xamarin. Implementasi HttpClient juga dapat diatur secara dinamis dalam kode. Lihat panduan khusus platform ini untuk informasi selengkapnya:

Ringkasan

Aplikasi harus menggunakan Transport Layer Security (TLS) 1.2 sedapat mungkin. Anda harus memperbarui pengaturan di aplikasi yang ada sesuai dengan instruksi dalam artikel ini, lalu membuat ulang dan menyebarkan ulang ke pelanggan Anda.