Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA5385 |
| Titel | RSA-Algorithmus (Rivest – Shamir – Adleman) mit ausreichender Schlüsselgröße verwenden |
| Kategorie | Security |
| Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
| Standardmäßig in .NET 10 aktiviert | No |
Ursache
Die Verwendung des asymmetrischen RSA-Verschlüsselungsalgorithmus mit einer Schlüsselgröße von weniger als 2048 Bits auf eine der folgenden Arten:
- Instanziieren aller abgeleiteten Klassen von System.Security.Cryptography.RSA und Angeben des Parameters
KeySizemit einem Wert unter 2048 Bits - Zurückgeben eines beliebigen Objekts, dessen Typ von System.Security.Cryptography.RSA abgeleitet ist
- Verwenden von System.Security.Cryptography.AsymmetricAlgorithm.Create ohne Parameter – dadurch wird der RSA-Schlüssel mit der Standardschlüsselgröße 1024 Bits erstellt
- Verwenden von System.Security.Cryptography.AsymmetricAlgorithm.Create und Angeben des Parameters
algNamealsRSAmit der Standardschlüsselgröße von 1024 Bits - Verwenden von System.Security.Cryptography.CryptoConfig.CreateFromName und Angeben des Parameters
namealsRSAmit der Standardschlüsselgröße von 1024 Bits - Verwenden von System.Security.Cryptography.CryptoConfig.CreateFromName, Angeben des Parameters
namealsRSAund explizites Angeben einer Schlüsselgröße von weniger als 2048 Bits durchargs
Regelbeschreibung
Ein RSA-Schlüssel, der kleiner als 2048 Bits ist, ist anfälliger für Brute-Force-Angriffe.
Behandeln von Verstößen
Wechseln Sie stattdessen zu einem RSA-Schlüssel mit einer Größe von mindestens 2048 Bits oder zu einem ECDH- oder ECDSA-Algorithmus.
Wann sollten Warnungen unterdrückt werden?
Es wird nicht empfohlen, diese Regel zu unterdrücken, solange keine Gründe im Hinblick auf die Kompatibilität mit Legacyanwendungen und -daten vorliegen.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable CA5385
// The code that's violating the rule is on this line.
#pragma warning restore CA5385
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der none auf fest.
[*.{cs,vb}]
dotnet_diagnostic.CA5385.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.
Beispiel
Der folgende Ausschnitt veranschaulicht das von dieser Regel erkannte Muster.
Verstoß:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(1024);
}
}
Lösung:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(2048);
}
}