.NET Framework sürüm 3.5 ve önceki sürümleri, şifreleme protokolü olarak Aktarım Katmanı Güvenliği (TLS) Sistemi Varsayılan Sürümleri'nin kullanımına destek sağlamadı. Bu güncelleştirme, 3.5 ile aynı aralıkta TLS v1.2 .NET Framework olanak sağlar.

NotBu  içerik, Güncelleştirme Tarihi'Windows sunulmaktadır. İçeriği almak için, en son Windows güncelleştirmeleri için Güncelleştir'.NET Framework tarayın. Sisteminiz Güncelleştirme yoluyla tamamen güncel Windows, başka bir işlem yapmaya gerek yok.

Çözüm

Karşıdan yükleme bilgileri

KB3154519 ile ilgili düzeltmenin yerini, daha önce KB3154519'e dahil edilen tüm düzeltmeleri içeren .NET Framework'un en son güncelleştirmeleri aldı. Office 365'in en son güncelleştirmelerini yüklemeniz .NET Framework.Bu alanda şu geliştirmeleri yaptık:

  • Aşağıdaki kayıt defteri anahtarları, bilgisayarda çalışan yönetilen bir uygulamanın sabit kod kodları yerine SSL ve TLS .NET Framework işletim sistemi varsayılanlarını kullanmak üzere ayarlanmış olabilir.

    • 64 bit işletim sistemleri için:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001

    • 32 bit işletim sistemleri için:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001

    Not Uygulama, kodda veya config dosyalarında ServicePointManager.SecureProtocol'u belirli bir değere ayarlasın ya da sslStream.AuthenticateAs* API'lerini kullanarak belirli bir SslProtocols enum değerini belirtirse, kayıt defteri ayarı davranışı geçerli olmaz.

  • Buna ek olarak, TLS v1.2, TLS v1.1'i ayarlama seçeneği olarak kullanabileceğiniz SslProtocolsExtensions enumerasyonu ile ServicePointManager.SecurityProtocol özelliği için işletim sistemi varsayılanlarını .NET Framework 2.0 SP2'yi hedeflerken ekledik. (Uzantıların nasıl kullanımıyla ilgili bilgi için Geliştirici Kılavuzu bölümüne bakın.) Vista SP2 Windows Server 2008 SP2'Windows 1.0'dan daha yeni olan Aktarım Katmanı Güvenliği (TLS) protokolü sürümlerini desteklemez. ServicePointManager.SecurityProtocol özelliğinde ayarlanmış olsalar bile, Windows Vista SP2 veya Windows Server 2008 SP2 ile çalışan yönetilen .NET Framework 2.0 SP2 uygulamaları TLS 1.2 veya TLS 1.1'i kullanamaz.

Microsoft destek dosyalarını indirme hakkında daha fazla bilgi edinmek için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

119591 Microsoft destek dosyalarını çevrimiçi hizmetlerden alma Microsoft bu dosyayı virüsler için taradı. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır.

Geliştirici Kılavuzu

Yeni uzantıların tanımı aşağıdaki dosyalarda yer almaktadır:  

  • SecurityProtocolTypeExtensions.csnamespace System.Net { System.Security.Authentication kullanma; genel statik sınıf SecurityProtocolTypeExtensions { public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12; public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11; public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0; } }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication { genel statik sınıf SslProtocolsExtensions { public const SslProtocols Tls12 = (SslProtocols)0x00000C00; public const SslProtocols Tls11 = (SslProtocols)0x00000300; } }

TLS v1.2 desteğini eklemek için, kaynak dosyaları projenize dahil edin ve sonra aşağıdaki yöntemleri kullanarak protokol sürümünü ayarlayın:  

  • ServicePointManager tabanlı API'leri kullanan uygulamalar, protokolü ayarlamak için aşağıdakini kullanabilir: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) aşırı yükini kullanan uygulamalar SslProtocols değerini SslProtocolsExtensions.Tls12 olarak ayarlanabilir.

İlk paragrafta bahsedilen kayıt defteri ayarı ayarlanmışsa ve sslProtocols değeri de uygulamada SslProtocols.None olarak ayarlanmışsa, seçilen sistem varsayılan davranışı Windows sürümüne bağlıdır.Ayrıca, .NET Framework 3.5 SP1 ile TLS v1.2 desteğini etkinleştirmek için uygulama kodunu değiştirmiyorsanız, bu düzeltme ekini dağıtmayacak bilgisayarlarda aşağıdaki özel durumlara karşı hazır olun:  

  1. Düzeltme yüklenmezse, uygulama Yeni değeri ayarlamak için ServicePointManager tabanlı API'ler (HTTP, FTP, SMTP) "System.NotSupportedException: İstenen güvenlik protokolü desteklenmez" hata değerini verir.

  2. Düzeltme yüklenmezse, SslStream tabanlı API'ler AuthenticateAs* API'lerden birini çağıran özel durumlar oluşturur:

    System.ArgumentException: Belirtilen değer 'SslProtocolType' numaralamasinde geçerli değildir.Parametre adı: sslProtocolType

Not Yalnızca SslStream için, var olan TLS, Ssl3, Ssl2 ile TLS12, TLS11 birleşimi (örneğin: TLS12 | Tls11 | TLS) yama olmadan sistemde var olan protokollere (örneğin: TLS) sessizce indir indirer. Bu, tek istisnadan TLs'ye bağlanacak.  

Ek Bilgi

TLS v1.1 veya v1.2'yi işletim sistemi varsayılanları olarak etkinleştirmek için https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Not TLS v1.1 ve v1.2, Windows Vista veya Windows Server 2008'de kullanılamaz.Belirli uygulamalar için "Çözüm" bölümünde adı geçen kayıt defteri anahtarı tarafından ayarlanmış işletim sistemi varsayılanlarını devre dışı bırakmanız gerekirse, şu kayıt defteri anahtarını ekleyerek bunu yapabilirsiniz:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions << Dosyanın DWORD 0 için .exe Tam yolu>> C:\MyApp\MyApp.exe DWORD 0

TLS v1.2 hakkında daha fazla bilgi için bkz . TLS v1.2 tanıtımı.SystemDefaultTlsVersions .NET kayıt defteri anahtarını etkinleştirdikten sonra, aşağıdaki tabloda gösterildiği gibi, Windows her sürümde farklı bir davranış oluşur.  

Windows sürümü

SSL2 İstemcisi

SSL2 Sunucusu

SSL3 İstemcisi

SSL3 Sunucusu

TLS 1.0 İstemcisi

TLS 1.0 Sunucusu

TLS 1.1 İstemcisi

TLS 1.1 Sunucusu

TLS 1.2 İstemcisi

TLS 1.2 Sunucusu

Windows Vista SP2 ve Windows Server 2008 SP2

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Yok

Yok

Yok

Yok

Windows 7 SP1 ve Windows Server 2008 R2 SP1

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Devre Dışı

Devre Dışı

Devre Dışı

Devre Dışı

Windows Server 2012

Devre Dışı

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

R2 Windows 8.1 Windows Server 2012 ve

Devre Dışı

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Windows 10

Devre Dışı

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Windows 10 (1511)

Devre Dışı

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Windows 10 (1607) ve Windows Server 2016

Yok

Yok

Devre Dışı

Devre Dışı

Etkin

Etkin

Etkin

Etkin

Etkin

Etkin

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.