Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Framework'teki şifreleme yapılandırma sistemi düzgün şifreleme çevikliği sağlamaz ve .NET Core ve .NET 5+'ta mevcut değildir. . NET'in geriye dönük uyumluluk gereksinimleri, çerçevenin şifrelemedeki ilerlemelere ayak uydurmak için belirli şifreleme API'lerini güncelleştirmesini de yasaklar. Sonuç olarak, aşağıdaki API'ler .NET 5'te başlayarak eski olarak işaretlenir. Bu API'lerin kullanılması derleme zamanında SYSLIB0007 uyarı ve çalışma zamanında PlatformNotSupportedException oluşturur.
- System.Security.Cryptography.AsymmetricAlgorithm.Create()
- System.Security.Cryptography.HashAlgorithm.Create()
- System.Security.Cryptography.HMAC.Create()
- System.Security.Cryptography.KeyedHashAlgorithm.Create()
- System.Security.Cryptography.SymmetricAlgorithm.Create()
Geçici Çözümler
Önerilen eylem, artık kullanılmayan API'lere yapılan çağrıları, örneğin Aes.Create()belirli algoritmalar için fabrika yöntemlerine yapılan çağrılarla değiştirmektir. Bu, hangi algoritmaların oluşturulduğu üzerinde tamamen kontrol sağlar.
Artık kullanılmayan API'leri kullanan .NET Framework uygulamaları tarafından oluşturulan mevcut yüklerle uyumluluğu sürdürmeniz gerekiyorsa, aşağıdaki tabloda önerilen değişiklikleri kullanın. Tablo, .NET Framework varsayılan algoritmalarından .NET 5+ eşdeğerlerine eşleme sağlar.
.NET Çerçevesi .NET Core / .NET 5+ uyumlu yedek Açıklamalar AsymmetricAlgorithm.Create() RSA.Create() HashAlgorithm.Create() SHA1.Create() SHA-1 algoritması bozuk olarak kabul edilir. Mümkünse daha güçlü bir algoritma kullanmayı göz önünde bulundurun. Daha fazla rehberlik için güvenlik danışmanınıza başvurun. HMAC.Create() HMACSHA1() çoğu modern uygulama için HMACSHA1 algoritması önerilmez. Mümkünse daha güçlü bir algoritma kullanmayı göz önünde bulundurun. Daha fazla rehberlik için güvenlik danışmanınıza başvurun. KeyedHashAlgorithm.Create() HMACSHA1() çoğu modern uygulama için HMACSHA1 algoritması önerilmez. Mümkünse daha güçlü bir algoritma kullanmayı göz önünde bulundurun. Daha fazla rehberlik için güvenlik danışmanınıza başvurun. SymmetricAlgorithm.Create() Aes.Create()
Uyarıyı gizleme
Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.
Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.
// Disable the warning.
#pragma warning disable SYSLIB0007
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0007
Projenizdeki tüm SYSLIB0007 uyarılarını engellemek için proje dosyanıza bir <NoWarn> özelliği ekleyin.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0007</NoWarn>
</PropertyGroup>
</Project>
Daha fazla bilgi için bkz. uyarıları gizleme.