CA5385: Yeterli anahtar boyutuna sahip Rivest–Shamir–Adleman (RSA) algoritması kullanın

Özellik Değer
Kural Kimliği CA5385
Başlık Yeterli anahtar boyutuna sahip Rivest–Shamir–Adleman (RSA) algoritmasını kullan
Kategori Güvenlik
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 8'de varsayılan olarak etkin Hayır

Neden

Anahtar boyutu 2048'den küçük olan asimetrik şifreleme algoritması RSA'sını aşağıdaki yollardan biriyle kullanma:

Kural açıklaması

2048 bitten küçük bir RSA anahtarı deneme yanılma saldırılarına karşı daha savunmasızdır.

İhlalleri düzeltme

Bunun yerine en az 2048 anahtar boyutu, ECDH veya ECDsa algoritması olan bir RSA'ya geçin.

Uyarıların ne zaman bastırılması gerekiyor?

Eski uygulamalar ve verilerle uyumluluk sağlamadığı sürece bu kuralın gizlenmesi önerilmez.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

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

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Örnek

Aşağıdaki kod parçacığı, bu kural tarafından algılanan deseni gösterir.

Ihlal:

using System.Security.Cryptography;

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

Çözüm:

using System.Security.Cryptography;

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