CA5385: Usare l'algoritmo Rivest–Shamir–Adleman (RSA) con dimensioni sufficienti della chiave

Proprietà valore
ID regola CA5385
Titolo Usa l'algoritmo RSA (Rivest-Shamir-Adleman) con dimensione di chiave sufficiente
Categoria Sicurezza
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 No

Causa

L'uso dell'algoritmo di crittografia asimmetrica RSA con dimensioni della chiave inferiori a 2048 in uno dei modi seguenti:

Descrizione regola

Una chiave RSA inferiore a 2048 bit è più vulnerabile agli attacchi di forza bruta.

Come correggere le violazioni

Passare a un algoritmo RSA con almeno 2048 dimensioni della chiave, ECDH o ECDsa.

Quando eliminare gli avvisi

Non è consigliabile eliminare questa regola a meno che non si tratti di compatibilità con applicazioni e dati legacy.

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Esempio

Il frammento di codice seguente illustra il modello rilevato da questa regola.

Violazione:

using System.Security.Cryptography;

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

Soluzione:

using System.Security.Cryptography;

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