macOS での AesGcm 認証タグのサイズ
.NET 8 以降のバージョンで Encrypt または Decrypt を使う場合、macOS での AesGcm では、16 バイト (128 ビット) の認証タグのみがサポートされます。
以前の動作
macOS では、OpenSSL が使用可能な場合、Encrypt と Decrypt では 12 バイトから 16 バイトまでの認証タグのサイズがサポートされていました。
さらに、AesGcm.TagByteSizes プロパティでは、12 バイトから 16 バイト (両端を含む) までのサイズがサポートされていることが報告されていました。
新しい動作
macOS では、Encrypt と Decrypt では 16 バイトの認証タグのみがサポートされます。 macOS でより小さいタグ サイズを使用すると、実行時に ArgumentException がスローされます。
AesGcm.TagByteSizes プロパティは、サポートされているタグ サイズとして 16 という値を返します。
導入されたバージョン
.NET 8 Preview 1
破壊的変更の種類
この変更は、動作変更です。
変更理由
macOS の AesGcm クラスは、以前は基になるサポートのために OpenSSL に依存していました。 OpenSSL は外部依存関係であり、.NET とは別にインストールして構成する必要がありました。 AesGcm では、Apple の CryptoKit を使って Galois/Counter Mode の Advanced Encryption Standard (AES-GCM) の実装が提供されるようになりました。そのため、OpenSSL は AesGcm を使うための依存関係ではなくなりました。
AES-GCM の CryptoKit 実装では、128 ビット (16 バイト) 以外の認証タグ サイズはサポートされていません。
推奨アクション
macOS サポートの AesGcm では 128 ビットの認証タグを使用してください。
影響を受ける API
.NET