Compartilhar via


CA5385: Usar o algoritmo RSA (Rivest–Shamir–Adleman) com um tamanho de chave suficiente

Property Valor
ID da regra CA5385
Título Usar o algoritmo RSA (Rivest–Shamir–Adleman) com um tamanho de chave suficiente
Categoria Segurança
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Não

Causa

Usar o algoritmo de criptografia assimétrica RSA com tamanho de chave menor que 2048 de uma das seguintes maneiras:

Descrição da regra

Uma chave RSA menor que 2048 bits é mais vulnerável a ataques de força bruta.

Como corrigir violações

Alterne para um RSA com tamanho de chave de pelo menos 2048, algoritmo ECDH ou ECDsa.

Quando suprimir avisos

Não é recomendável suprimir essa regra, a menos que haja compatibilidade com aplicativos e dados herdados.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.

Exemplo

O snippet de código a seguir ilustra o padrão detectado por esta regra.

Violação:

using System.Security.Cryptography;

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

Solução:

using System.Security.Cryptography;

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