Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET-keretrendszer titkosítási konfigurációs rendszere nem teszi lehetővé a megfelelő titkosítási rugalmasságot, és nem található meg a .NET Core-ban és a .NET 5+-ban. . A NET visszamenőleges kompatibilitási követelményei azt is tiltják, hogy a keretrendszer bizonyos titkosítási API-kat frissítsen, hogy lépést tartson a kriptográfiai fejlődéssel. Ennek eredményeképpen a következő API-k elavultnak minősülnek, kezdve a .NET 5-tel. Ezeknek az API-knak a használata figyelmeztetést SYSLIB0007 generál fordításkor és PlatformNotSupportedException futásidőben.
- 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()
Áthidaló megoldások
A javasolt művelet a már elavult API-k hívásainak lecserélése adott algoritmusok gyári metódusainak hívására, Aes.Create()például. Így teljes mértékben szabályozhatja, hogy mely algoritmusok legyenek példányosítva.
Ha meg kell őriznie a kompatibilitást a már elavult API-kat használó .NET-keretrendszer-alkalmazások által létrehozott meglévő payloadokkal, használja az alábbi táblázatban javasolt helyettesítőket. A táblázat a .NET-keretrendszer alapértelmezett algoritmusai és a .NET 5+ megfelelői közötti leképezést biztosítja.
.NET-keretrendszer .NET Core/.NET 5+ kompatibilis alternatíva Megjegyzések AsymmetricAlgorithm.Create() RSA.Create() HashAlgorithm.Create() SHA1.Create() Az SHA-1 algoritmus hibásnak minősül. Ha lehetséges, fontolja meg egy erősebb algoritmus használatát. További útmutatásért forduljon a biztonsági tanácsadójához. HMAC.Create() HMACSHA1() A HMACSHA1 algoritmust a legtöbb modern alkalmazás nem használja. Ha lehetséges, fontolja meg egy erősebb algoritmus használatát. További útmutatásért forduljon a biztonsági tanácsadójához. KeyedHashAlgorithm.Create() HMACSHA1() A HMACSHA1 algoritmust a legtöbb modern alkalmazás nem használja. Ha lehetséges, fontolja meg egy erősebb algoritmus használatát. További útmutatásért forduljon a biztonsági tanácsadójához. SymmetricAlgorithm.Create() Aes.Create()
Figyelmeztetés mellőzése
Ha az elavult API-kat kell használnia, letilthatja a figyelmeztetést a kódban vagy a projektfájlban.
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz, hogy letiltsa, majd engedélyezze újra a figyelmeztetést.
// Disable the warning.
#pragma warning disable SYSLIB0007
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0007
Ha el szeretné tiltani a projekt összes SYSLIB0007 figyelmeztetését, adjon hozzá egy <NoWarn> tulajdonságot a projektfájlhoz.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0007</NoWarn>
</PropertyGroup>
</Project>
További információ: Figyelmeztetések letiltása.