Share via


CA5385: Använd algoritmen Rivest–Shamir–Adleman (RSA) med tillräcklig nyckelstorlek

Property Värde
Regel-ID CA5385
Rubrik Använd algoritmen Rivest–Shamir–Adleman (RSA) med tillräcklig nyckelstorlek
Kategori Säkerhet
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard i .NET 8 Nej

Orsak

Använda asymmetrisk krypteringsalgoritm RSA med nyckelstorlek mindre än 2048 på något av följande sätt:

Regelbeskrivning

En RSA-nyckel som är mindre än 2 048 bitar är mer sårbar för råstyrkeattacker.

Så här åtgärdar du överträdelser

Växla till en RSA med minst 2048 nyckelstorlek, ECDH- eller ECDsa-algoritm i stället.

När du ska ignorera varningar

Vi rekommenderar inte att du utelämnar den här regeln om det inte gäller kompatibilitet med äldre program och data.

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.

#pragma warning disable CA5385
// The code that's violating the rule is on this line.
#pragma warning restore CA5385

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

[*.{cs,vb}]
dotnet_diagnostic.CA5385.severity = none

Mer information finns i Så här utelämnar du kodanalysvarningar.

Exempel

Följande kodfragment illustrerar det mönster som identifieras av den här regeln.

Kränkning:

using System.Security.Cryptography;

class ExampleClass
{
    public void ExampleMethod()
    {
        RSACng rsaCng = new RSACng(1024);
    }
}

Lösning:

using System.Security.Cryptography;

class ExampleClass
{
    public void ExampleMethod()
    {
        RSACng rsaCng = new RSACng(2048);
    }
}