Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Ö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 10'da 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:
- öğesinin alt sınıflarını System.Security.Cryptography.RSA örnekleme ve parametresini
KeySize2048'den küçük olarak belirtme. - türü alt System.Security.Cryptography.RSAöğesi olan herhangi bir nesneyi döndürme.
- Varsayılan System.Security.Cryptography.AsymmetricAlgorithm.Create anahtar boyutu 1024 olan RSA'nın oluşturulacağı parametresiz kullanıldığında.
- Parametresini System.Security.Cryptography.AsymmetricAlgorithm.Create varsayılan anahtar boyutu 1024 ile olduğu gibi
algNamekullanmaRSAve belirtme. - Parametresini System.Security.Cryptography.CryptoConfig.CreateFromName varsayılan anahtar boyutu 1024 ile olduğu gibi
namekullanmaRSAve belirtme. - parametresini System.Security.Cryptography.CryptoConfig.CreateFromName
namekullanmaRSAve belirtme ve anahtar boyutunu tarafından açıkça 2048'den küçük olarakargsbelirtme.
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);
}
}