Delen via


DSA verwijderd uit macOS

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.

Migreer weg van het DSA-algoritme en gebruik een modern cryptografisch algoritme voor digitale handtekeningen, zoals EC-DSA (Elliptic Curve DSA).

Betreffende API's

Daarnaast worden eventuele API's die communiceren met DSA-sleutels beïnvloed.