Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vanaf .NET 11 wordt het Digital Signature Algorithm (DSA) niet meer ondersteund in macOS. Deze verwijdering heeft alleen invloed op 'eindig veld' DSA. EC-DSA (DSA met elliptische curve) wordt niet beïnvloed. Pogingen om DSA, DSACryptoServiceProvider of andere API's te gebruiken die met DSA communiceren, genereren een PlatformNotSupportedException op macOS.
Geïntroduceerde versie
.NET 11 Preview 1
Vorig gedrag
Voorheen werkt het DSA-algoritme en de ondersteunende typen, DSADSACryptoServiceProvideren X.509-certificaten met DSA-sleutels in macOS.
Nieuw gedrag
DSA werkt niet meer in macOS. Pogingen om DSA, DSACryptoServiceProvider, of andere API's die communiceren met DSA te gebruiken, werpen een PlatformNotSupportedException.
Type van brekende verandering
Deze wijziging is een gedragswijziging.
Reden voor wijziging
.NET op macOS is afhankelijk van het besturingssysteem om een implementatie van DSA te bieden. Apple heeft dit gedaan via een nu verouderde bibliotheek met de naam SecurityTransforms, zonder vervanging. De implementatie die Apple wel aanbiedt, is ook beperkt in functionaliteit. Het ondersteunt alleen DSA-1024 met SHA-1, die als zwak wordt beschouwd. Verder wordt het genereren van DSA-sleutels nooit ondersteund.
iOS, tvOS en MacCatalyst hebben DSA nooit ondersteund.
Aanbevolen actie
Migreer weg van het DSA-algoritme en gebruik een modern cryptografisch algoritme voor digitale handtekeningen, zoals EC-DSA (Elliptic Curve DSA).
Betreffende API's
- DSA.Create
- DSACryptoServiceProvider-constructors
- DSACertificateExtensions.GetDSAPrivateKey(X509Certificate2)
- DSACertificateExtensions.GetDSAPublicKey(X509Certificate2)
- DSACertificateExtensions.CopyWithPrivateKey(X509Certificate2, DSA)
Daarnaast worden eventuele API's die communiceren met DSA-sleutels beïnvloed.