Поделиться через


CA5385: использование алгоритма Rivest-Shamir-Adleman (RSA) с достаточным размером ключа

Свойство Значение
Идентификатор правила CA5385
Заголовок используйте алгоритм шифрования RSA с достаточным размером ключа
Категория Безопасность
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 9 No

Причина

Использование асимметричного алгоритма шифрования RSA с размером ключа менее 2048 одним из следующих способов:

Описание правила

Ключ RSA, размер которого меньше 2048 бит, более уязвим для атак методом подбора.

Устранение нарушений

Перейдите на алгоритм RSA с размером ключа не менее 2048 бит либо на алгоритм ECDH или ECDSA.

Когда лучше отключить предупреждения

Вывод этого правила можно отключить, только если требуется обеспечить совместимость с устаревшими приложениями и данными.

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

Пример

В приведенном ниже фрагменте кода показан шаблон, обнаруживаемый этим правилом.

Нарушение:

using System.Security.Cryptography;

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

Решение.

using System.Security.Cryptography;

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