Partager via


Taille de la balise d’authentification AesGcm sur macOS

AesGcm sur macOS prend uniquement en charge les étiquettes d’authentification de 16 octets (128 bits) pendant l’utilisation de Encrypt ou Decrypt dans .NET 8 et versions ultérieures.

Comportement précédent

Sur macOS, Encrypt et Decrypt prenaient en charge les tailles d’étiquette d’authentification entre 12 et 16 octets, si OpenSSL était disponible.

Par ailleurs, la propriété AesGcm.TagByteSizes indiquait qu’elle prenait en charge des tailles entre 12 et 16 octets, inclus.

Nouveau comportement

Sur macOS, Encrypt et Decrypt prennent en charge les étiquettes d’authentification de 16 octets uniquement. Si vous utilisez une plus petite taille d’étiquette sur macOS, une exception ArgumentException est levée au moment de l’exécution.

La propriété AesGcm.TagByteSizes renvoie la valeur 16 comme taille d’étiquette prise en charge.

Version introduite

.NET 8 Préversion 1

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

La classe AesGcm sur macOS s’appuyait précédemment sur OpenSSL pour la prise en charge sous-jacente. OpenSSL est une dépendance externe qui devait être installée et configurée séparément de .NET. AesGcm utilise désormais CryptoKit d’Apple pour fournir une implémentation d’Advanced Encryption Standard avec Galois/Counter Mode (AES-GCM), et OpenSSL n’a plus besoin d’être une dépendance pour utiliser AesGcm.

L’implémentation de CryptoKit d’AES-GCM ne prend pas en charge d’autres tailles d’étiquette d’authentification que 128 bits (16 octets).

Utilisez des étiquettes d’authentification 128 bits avec AesGcm pour la prise en charge de macOS.

API affectées