Aktarım Katmanı Güvenliği (TLS) 1.2

Aktarım Katmanı Güvenliği 'nin (TLS) en son sürümünü kullanmak, uygulama ağ iletişimlerinin güvende olmasını sağlamak için önemlidir.

Uyarı

Nisan 2018 – PCI uyumluluğu, büyük bulut sağlayıcılarının ve Web sunucularının da dahil olduğu güvenlik gereksinimlerinin, 1,2 ' den eskı olan TLS sürümlerini desteklemeye durdurulması beklenmektedir. önceki Visual Studio varsayılan sürümünde oluşturulan Xamarin projeleri TLS 'nin eski sürümlerini kullanmak için.

Uygulamalarınızın bu sunucular ve hizmetlerle çalışmaya devam etmesini sağlamak için, Xamarin projelerinizi aşağıdaki ayarları kullanacak şekilde güncelleştirmeniz, sonra uygulamalarınızı yeniden oluşturup kullanıcılarınıza yeniden dağıtmanız gerekir .

Projelerin System .net. http derlemesine başvurması ve aşağıda gösterildiği gibi yapılandırılması gerekir.

Xamarin. Android ile TLS 1,2 güncelleştirme

TLS 1,2 güvenliğini etkinleştirmek için HttpClient uygulamasını ve SSL/TLS uygulama seçeneklerini güncelleştirin.

Not

Android 5,0 veya üstünü gerektirir.

bu ayarlar, Project özellikleri Android seçeneklerinde bulunabilir ve ardından gelişmiş düğmesine tıklanmalıdır:

Android cihazlar için Visual Studio httpclient ve TLS yapılandırma.

Xamarin. iOS ile TLS 1,2 güncelleştirme

TSL 1,2 güvenliğini etkinleştirmek için HttpClient uygulama seçeneğini güncelleştirin.

bu ayar, Project özellikleri iOS derlemesi' nde bulunabilir:

i & m cihazları için Visual Studio httpclient ve TLS yapılandırma.

Xamarin. Mac 'i TLS 1,2 olarak güncelleştirme

Mac için Visual Studio, Xamarin. Mac uygulamasında TLS 1,2 ' i etkinleştirmek için Project seçenekleri derleme Mac derlemesi' nde httpclient uygulama seçeneğini güncelleştirin:

Mac için Visual Studio 'de httpclient 'ı yapılandırma

Uyarı

Yaklaşan Xamarin.Mac 4.8 sürümü yalnızca macOS 10.9 veya sonraki sürümleri destekleyecektir. Xamarin.Mac’in önceki sürümleri macOS 10.7 veya sonraki sürümleri destekler ancak bu eski macOS sürümleri TLS 1.2’yi destekleyecek yeterli TLS altyapısını barındırmaz. macOS 10.7 veya macOS 10.8’i hedeflemek için Xamarin.Mac 4.6 veya önceki sürümleri kullanın.

Alternatif yapılandırma seçenekleri

Bu bölümde, yukarıda gösterilen TLS 1,2 tarafından desteklenen yapılandırmaların alternatifleri açıklanmaktadır. Uygulama geliştiricileri, farklı düzeylerde TLS desteği kullanmanın risklerini anlarsa bu alternatifleri yalnızca dikkate almalıdır.

HttpClient uygulama

Xamarin geliştiricileri her zaman kendi kodlarında yerel ağ sınıflarını kullanabiliyor, ancak sınıflar tarafından hangi ağ yığınının kullanıldığını belirleyen bir seçenek de vardır HttpClient . Bu, yerel platformun hız ve güvenlik avantajlarını içeren tanıdık bir .NET API 'SI sağlar.

Seçenekler şunlardır:

  • Yönetilen yığın – mono tarafından belirtilen ağ işlevselliği veya
  • Yerel yığın : temeldeki platformlar tarafından sunulan çeşitli ağ API 'Leri (Android, IOS veya MacOS).

Yönetilen yığın, mevcut .NET kodu ile en yüksek uyumluluk düzeyini sağlar, ancak daha yavaş olabilir ve daha büyük yürütülebilir boyuta neden olabilir.

Yerel seçenekler daha hızlı olabilir ve daha iyi güvenliğe sahiptir (TLS 1,2 dahil), ancak sınıfın tüm işlev ve seçeneklerini sağlamayabilir HttpClient .

SSL/TLS uygulama (Android)

Android proje seçenekleri ayrıca destekedilecek SSL/TLS uygulamasını seçmenizi sağlar:

  • Mono/yönetilen – Android 'de TLS 1,1
  • Yerel – Android 'de TLS 1,2.

Yeni Xamarin projeleri varsayılan olarak TLS 1,2 ' i (tüm projeler için önerilir) destekler, ancak uyumluluk nedenleriyle gerekirse, yönetilen koda dönebilirsiniz.

Önemli

Mono/yönetilen seçeneği, iOS ve Mac proje seçeneklerinden kaldırılmıştır.

Yerel seçenek her zaman iOS ve Mac platformlarında kullanılır.

Platforma özgü ayrıntılar

Yukarıdaki Özet, Xamarin projelerinde HttpClient ve SSL/TLS uygulamasının proje düzeyi ayarlarını açıklar. HttpClient uygulamasının kodda dinamik olarak ayarlanması de gerekebilir. Daha fazla bilgi için platforma özgü bu kılavuzlara başvurun:

Özet

Uygulamalar, mümkün olan yerlerde Aktarım Katmanı Güvenliği (TLS) 1,2 kullanmalıdır. Mevcut uygulamalardaki ayarları, bu makaledeki yönergelere göre güncelleştirmeniz, ardından müşterilerinize yeniden derleyip yeniden dağıtmanız gerekir.