Udostępnij za pośrednictwem


CA5385: Użyj algorytmu Rivest–Shamir-Adleman (RSA) z wystarczającą ilością klucza

Właściwości Wartość
Identyfikator reguły CA5385
Tytuł Użyj algorytmu Rivest-Shamir-Adleman (RSA) z wystarczającym rozmiarem klucza
Kategoria Bezpieczeństwo
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone na platformie .NET 9 Nie.

Przyczyna

Użycie algorytmu szyfrowania asymetrycznego RSA z rozmiarem klucza mniejszym niż 2048 w jeden z następujących sposobów:

Opis reguły

Klucz RSA mniejszy niż 2048 bitów jest bardziej podatny na ataki siłowe.

Jak naprawić naruszenia

Przełącz się do algorytmu RSA z co najmniej 2048 rozmiarem klucza, algorytmem ECDH lub ECDsa.

Kiedy pomijać ostrzeżenia

Nie zaleca się pomijania tej reguły, chyba że ze względu na zgodność ze starszymi aplikacjami i danymi.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.

Przykład

Poniższy fragment kodu ilustruje wzorzec wykryty przez tę regułę.

Naruszenie:

using System.Security.Cryptography;

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

Rozwiązanie:

using System.Security.Cryptography;

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