Freigeben über


DSA wurde aus macOS entfernt

Ab .NET 11 wird der Digitale Signaturalgorithmus (Digital Signature Algorithm, DSA) unter macOS nicht mehr unterstützt. Diese Entfernung wirkt sich nur auf das "endliche Feld" DSA aus. Elliptische Kurve DSA (EC-DSA) ist nicht betroffen. Versuche, DSA, DSACryptoServiceProvider oder andere APIs, die mit DSA interagieren, zu verwenden, werfen unter macOS eine AusnahmePlatformNotSupportedException.

Eingeführt in Version

.NET 11 Preview 1

Vorheriges Verhalten

Bisher funktionierten der DSA-Algorithmus und seine unterstützenden Typen, DSA, DSACryptoServiceProvider, und X.509-Zertifikate mit DSA-Schlüsseln auf macOS.

Neues Verhalten

DSA ist unter macOS nicht mehr funktionsfähig. Wird versucht, DSA, DSACryptoServiceProvider oder andere APIs, die mit einer DSA interagieren, zu verwenden, wird eine PlatformNotSupportedException ausgelöst.

Art der einschneidenden Änderung

Diese Änderung ist eine Verhaltensänderung.

Grund für Änderung

.NET unter macOS basiert auf dem Betriebssystem, um eine Implementierung von DSA bereitzustellen. Apple hat dies über eine mittlerweile veraltete Bibliothek namens SecurityTransforms ohne Ersatz getan. Die Implementierung, die Apple angeboten hat, war auch in der Funktionalität eingeschränkt. Es unterstützt nur DSA-1024 mit SHA-1, das als schwach eingestuft wird. Darüber hinaus wurde das Generieren von DSA-Schlüsseln nie unterstützt.

iOS, tvOS und MacCatalyst haben DSA nie unterstützt.

Wechseln Sie vom DSA-Algorithmus zu einem modernen kryptografischen Digitalsignatur-Algorithmus wie EC-DSA (Elliptic Curve DSA).

Betroffene APIs

Darüber hinaus sind alle APIs, die mit DSA-Schlüsseln interagieren, betroffen.