Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
À compter de .NET 11, l’algorithme de signature numérique (DSA) n’est plus pris en charge sur macOS. Cette suppression affecte uniquement le DSA « champ fini ». La courbe elliptique DSA (EC-DSA) n’est pas affectée. Tente d’utiliser DSA, DSACryptoServiceProvider ou d’autres API qui interagissent avec DSA lèvent une PlatformNotSupportedException sur macOS.
Version introduite
.NET 11 Preview 1
Comportement précédent
Auparavant, l’algorithme DSA et ses types de prise en charge, DSA, DSACryptoServiceProvider, et les certificats X.509 avec des clés DSA fonctionnaient sur macOS.
Nouveau comportement
DSA n’est plus fonctionnel sur macOS. Tentatives d'utiliser DSA, DSACryptoServiceProvider ou d'autres API qui interagissent avec DSA lèvent une PlatformNotSupportedException.
Type de changement cassant
Ce changement est un changement de comportement.
Raison de la modification
.NET sur macOS s’appuie sur le système d’exploitation pour fournir une implémentation de DSA. Apple l’a fait par le biais d’une bibliothèque désormais obsolète appelée SecurityTransforms, sans remplacement. L’implémentation proposée par Apple était également limitée dans les fonctionnalités. Il prend uniquement en charge DSA-1024 avec SHA-1, ce qui est considéré comme faible. En outre, il n’a jamais pris en charge la génération de clés DSA.
IOS, tvOS et MacCatalyst n’ont jamais pris en charge DSA.
Action recommandée
Migrez loin de l’algorithme DSA et utilisez un algorithme de signature numérique de chiffrement moderne tel que EC-DSA (DSA de courbe elliptique).
API affectées
- DSA.Create
- Constructeurs DSACryptoServiceProvider
- DSACertificateExtensions.GetDSAPrivateKey(X509Certificate2)
- DSACertificateExtensions.GetDSAPublicKey(X509Certificate2)
- DSACertificateExtensions.CopyWithPrivateKey(X509Certificate2, DSA)
En outre, toutes les API qui interagissent avec les clés DSA sont affectées.