Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Empfohlene Aktion
Wechseln Sie vom DSA-Algorithmus zu einem modernen kryptografischen Digitalsignatur-Algorithmus wie EC-DSA (Elliptic Curve DSA).
Betroffene APIs
- DSA.Create
- DSACryptoServiceProvider-Konstruktoren
- DSACertificateExtensions.GetDSAPrivateKey(X509Certificate2)
- DSACertificateExtensions.GetDSAPublicKey(X509Certificate2)
- DSACertificateExtensions.CopyWithPrivateKey(X509Certificate2, DSA)
Darüber hinaus sind alle APIs, die mit DSA-Schlüsseln interagieren, betroffen.