次の方法で共有


CA5385: 十分なキー サイズの Rivest–Shamir–Adleman (RSA) アルゴリズムを使用します

プロパティ
ルール ID CA5385
Title 十分なキー サイズの Rivest–Shamir–Adleman (RSA) アルゴリズムを使用します
[カテゴリ] Security
修正が中断か中断なしであるか なし
.NET 8 では既定で有効 いいえ

原因

キー サイズが 2048 未満の非対称暗号化アルゴリズム RSA が次のいずれかの方法で使用されました。

規則の説明

2048 ビットよりも小さい RSA キーは、ブルート フォース攻撃に対する脆弱性が高くなります。

違反の修正方法

少なくとも 2048 のキー サイズ、ECDH または ECDsa アルゴリズムを使用する RSA に切り替えます。

どのようなときに警告を抑制するか

レガシ アプリケーションおよびデータとの互換性を目的としない限り、この規則を抑制することはお勧めしません。

警告を抑制する

単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。

#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);
    }
}