CreateEncryptor-Methoden lösen Ausnahme bei falscher Feedbackgröße aus

Die CreateEncryptor- und CreateDecryptor-Methoden für AesCng und TripleDESCng lösen jetzt eine CryptographicException aus, wenn die Objektinstanz mit einem persistenten (oder benannten) CNG-Schlüssel für den CFB-Modus (Cipher Feedback) mit einer anderen Feedbackgröße als acht (CFB8) verwendet wird.

Vorheriges Verhalten

Zuvor erlaubten diese Klassen die Auswahl von CFB128 (AesCng) oder CFB64 (TripleDESCng). Wenn der Schlüssel jedoch ein persistenter Schlüssel war, wurde die Berechnung immer so durchgeführt, als ob CFB8 ausgewählt wäre.

Neues Verhalten

Die CreateEncryptor- und CreateDecryptor-Methoden lösen eine CryptographicException aus, wenn die beiden folgenden Bedingungen erfüllt sind:

  • Der CFB128- oder CFB64-Modus ist ausgewählt (d. h. SymmetricAlgorithm.FeedbackSize ist auf 128 oder 64 festgelegt).
  • Die Instanz wird durch einen persistenten Schlüssel gesichert.

Eingeführt in Version

.NET 6

Typ des Breaking Changes

Diese Änderung kann sich auf die binäre Kompatibilität auswirken.

Grund für die Änderung

Diese Änderung wurde eingeführt, um anzuzeigen, dass die angeforderten Aufgaben nicht ordnungsgemäß ausgeführt werden können.

Wenn diese Ausnahme auftritt, sollten Sie von CFB128 oder CFB64 zu CFB8 wechseln. Diese Umstellung führt zu Ergebnissen, die mit dem Verhalten in früheren Versionen kompatibel sind.

Betroffene APIs