Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA5385 |
| Titel | Gebruik het algoritme Van Rivest-Shamir–Adleman (RSA) met voldoende sleutelgrootte |
| Categorie | Beveiliging |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Nee |
| Toepasselijke talen | C# en Visual Basic |
Oorzaak
Het gebruik van asymmetrische versleutelingsalgoritmen RSA met sleutelgrootte kleiner dan 2048 op een van de volgende manieren:
- Instantieer eventuele onderliggende klassen van System.Security.Cryptography.RSA en geef de
KeySizeparameter op als kleiner dan 2048. - Retourneert een object waarvan het type afstammeling System.Security.Cryptography.RSAis.
- Gebruik System.Security.Cryptography.AsymmetricAlgorithm.Create zonder parameter om een RSA-sleutel aan te maken met de standaard sleutelgrootte 1024.
- Gebruik System.Security.Cryptography.AsymmetricAlgorithm.Create en specificeer de parameter
algNamealsRSAmet de standaardsleutelgrootte 1024. - Gebruik System.Security.Cryptography.CryptoConfig.CreateFromName en specificeer de
name-parameter alsRSAmet de standaardsleutelgrootte 1024. - Het gebruik van System.Security.Cryptography.CryptoConfig.CreateFromName en het specificeren van de
name-parameter alsRSA, evenals het expliciet opgeven van de sleutelgrootte als kleiner dan 2048 doorargs.
Beschrijving van regel
Een RSA-sleutel kleiner dan 2048 bits is kwetsbaarder voor beveiligingsaanvallen.
Hoe schendingen op te lossen
Schakel over naar een RSA met in plaats daarvan ten minste 2048 sleutelgrootte, ECDH of ECDsa-algoritme.
Wanneer waarschuwingen onderdrukken
Het wordt afgeraden deze regel te onderdrukken, tenzij deze compatibel is met verouderde toepassingen en gegevens.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA5385
// The code that's violating the rule is on this line.
#pragma warning restore CA5385
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA5385.severity = none
Zie voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.
Voorbeeld
Het volgende codefragment illustreert het patroon dat door deze regel is gedetecteerd.
Schending:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(1024);
}
}
Oplossing:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(2048);
}
}