Zorunlu TLS 1.2 bağlantılarında ArcObjects SDK’nın Microsoft .NET Framework ve ArcGIS Engine .NET istemci uygulamalarında etkileri nelerdir?
Esri, 16 Nisan 2019’dan başlayarak ArcGIS Online servislerinde TLS 1.2 bağlantı kurmayı zorunlu kılmayı planlamaktadır. ArcGIS Online servislerinde sadece TLS 1.2 bağlantılar aktifleştirildiği zaman, yeni ‘ArcObjects SDK for Microsoft .NET Framework’ uygulamalar (ArcGIS Engine for .NET’de dahil) oluşturulurken ya da var olanlar çalıştırılırken dikkat edilmesi gereken hususlar vardır. 10.7 versiyonunda, masaüstü yazılımı zaten TLS 1.2 kullanıma göre ayarlanmıştır ve TLS 1.2 aktifleştirmek için gereken bir adım gerekmemektedir.
ArcGIS’e gelen bağlantıları kullanan eski ArcObjects .NET (Engine uygulamaları dahil) ile oluşturulan istemci uygulamalarınız yalnızca TLS 1.2’ye geçiş yapıldıktan sonra etkinleştirilmiş TLS 1.2’ye sahip değilse, entegrasyonlarınız bozulma yaşayabilir.
4.6’dan önceki .NET sürümleriyle oluşturulan ArcObjects .NET ve Engine uygulamalarında aşağıdaki değişiklikler yapılabilir:
- Uygulamanızı .NET Framework 4.6 veya daha üst versiyon ile tekrardan derleyin, 4.6 varsayılan olarak TLS 1.2 ile uyumludur (kod değişimine gerek yoktur).
- İşletim sistemi ortamı TLS 1.2 olarak ayarlanmış olsa bile, .NET Framework 4.5.x ile oluşturulmuş uygulamalar TLS 1.2 protokolünü desteklemektedir ama varsayılan olarak değil. Fiziksel kod değişimi ‘ArcGIS Platform SSL/TLS Support and Configuration Briefing’ dokümanı sayfa 9’da anlatıldığı şekilde gereklidir. Aşağıdaki nottaki örnekte bu değerin uygulamada nasıl belirleneceğine bakın.
- .NET Framework 4.0 ile derlenen uygulamalar varsayılan olarak TLS 1.2 aktif değildir. Varsayılan olarak aktifleştirmek için, .NET Framework 4.5 veya daha üstü versiyon yüklenebilir ve aşağıda belirtilen ‘Registry’ (Kayıt Defteri) içindeki iki kayıt anahtarında ‘SchUseStrongCrypto’ DWORD değeri 1 olarak belirlenmeli, yoksa da oluşturulmalıdır:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework \v4.0.30319
Ancak bu kayıt anahtarları sistemdeki tüm yüklü .NET 4.0, 4.5, 4.5.1 ve 4.5.2 uygulamalarını varsayılan olarak TLS 1.2’yi etkinleştirebilir. Üretim sunucunuzda yüklemeden önce bu değişikliği test etmeniz önerilir. Bu kayıt anahtarları, System.Net.ServicePointManager.SecurityProtocol değerini ayarlayan .NET uygulamasını etkilemez.
Not:
.NET uygulamaları direkt olarak uygulama içinden TLS 1.2 aktif olarak belirlenebilir, ‘System.Net.ServicePointManager.SecurityProtocol’ değeri aşağıdaki örnekte gösterildiği gibi ‘SecurityProtocolType.Tls12’ olarak atandığında. |
Örnek (C#):
|
Esri platformu için TLS 1.2’ye geçiş için ek kaynaklar, Microsoft geliştirici belgelerine ve Esri Ürün Güvenliği ekibine referanslar dahil olmak üzere Important Updates for the ArcGIS Platform and Transport Layer Security (TLS) Protocol Support sayfasında bulunabilir.
HTTP
Eski uygulamalarda HHTP’nin kullanımıyla ilgili olarak, ArcGIS Online üzerine gelebilecek gelecekteki bir güvenlik güncellemesiyle, endüstride bir standart uygulama olacak, tüm uygulamaların sadece HTTPS kullanmaları gerektiği unutulmamalıdır.
İstemci makinelerindeki sertifika depolarında ilgili sertifikalara sahip olmadığından, daha önce HTTP ile çalışan ArcObject .NET uygulamaları HTTPS ile sertifika deneyimi hataları yaşayabilir. İstemci makineler bu nedenle buna göre yapılandırılmalıdır (örneğin, uygun sertifikalarının sertifika depolarına eklenmesiyle). Test ve geliştirme ortamları için sunucu ‘test’ sertifikaları oluşturulabilir. Bir Sertifika Yetkilisinden bir sertifika istemeden yalnızca HTTP’yi destekleyen bir test sunucusunda geliştiricilerin istemci kodlarını test etmelerine izin verilebilir. Bu intranet senaryoları için ortaktır.
TLS 1.2 hakkında daha fazla bilgi için, Esri Teknik Destek belgesine bakın: Important Updates for the ArcGIS Platform and Transport Layer Security (TLS) Protocol Support
Not:
ArcGIS Desktop versiyonlarının her birinin destek durumu için Esri Destek sitesindeki Product Life Cycle sayfalara bakın. |
İlgili Bağlantılar: