SYSLIB0053: AesGcm gerekli etiket boyutunu göstermelidir
AesGcm.NET 8'den başlayarak etiket boyutunu kabul etmeyen oluşturucular kullanımdan kaldırılmış durumdadır:
Bunları kodda çağırmak, derleme zamanında uyarı SYSLIB0053
oluşturur.
Kullanımdan kaldırılmış olma nedeni
AES-GCM, platforma bağlı olarak 12 ile 16 bayt arasındaki çeşitli uzunluklarda etiketleri destekler. Daha önce sınıfı, etiketin AesGcm boyutuna göre istenen etiket boyutunu belirlerdi. Örneğin, 14 bayt etiketiyle çağrıldıysa Decrypt , etiketin 14 bayt olması gerektiği varsayılır.
Ancak, AES-GCM kesme yoluyla bu çeşitli uzunlukları destekler. AES-GCM yerel olarak 16 bayt etiket üretir ve etiketi kesilerek daha kısa etiketler üretilir.
çağıranları Decrypt()
girişten etiketi alır ve etiketi olduğu gibi geçirirse, etiketin etkili boyutunu azaltan mümkün olan en kısa etiketle etkili bir şekilde kullanılmasına izin verir Decrypt()
.
Tüketicilerin doğru boyutta etiketler kullandığından emin olmalarına yardımcı olmak için AesGcm , için beklenen etiketin boyutunun öne bildirilmesini gerektiren yeni oluşturucular kullanıma sunulmuştur. veya Decrypt()
sırasındaEncrypt()
, sağlanan etiket parametresi oluşturucuda bildirilen boyutla eşleşmelidir.
Geçici çözüm
.NET 8'de etiket boyutunu kabul eden yeni oluşturucular eklendi. Bunun yerine şu oluşturuculardan birini kullanın:
Uyarıyı gizleme
Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.
Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.
// Disable the warning.
#pragma warning disable SYSLIB0053
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0053
Projenizdeki tüm SYSLIB0053
uyarıları engellemek için proje dosyanıza bir <NoWarn>
özellik ekleyin.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0053</NoWarn>
</PropertyGroup>
</Project>
Daha fazla bilgi için bkz . Uyarıları gizleme.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin