Condividi tramite


DSA rimosso da macOS

A partire da .NET 11, l'algoritmo di firma digitale (DSA) non è più supportato in macOS. Questa rimozione influisce solo sul "campo finito DSA". DSA curva ellittica (EC-DSA) non è interessato. Tentativi di usare DSA, DSACryptoServiceProvider o altre API che interagiscono con DSA generano un'eccezione PlatformNotSupportedException in macOS.

Versione introdotta

.NET 11 Preview 1

Comportamento precedente

In precedenza, l'algoritmo DSA e i relativi tipi di supporto, DSA, DSACryptoServiceProvider e i certificati X.509 con chiavi DSA funzionavano su macOS.

Nuovo comportamento

DSA non è più funzionale in macOS. Tentativi di utilizzare DSA, DSACryptoServiceProvider o altre API che interagiscono con DSA generano un'eccezione PlatformNotSupportedException.

Tipo di cambiamento che interrompe la compatibilità

Questa modifica è una modifica funzionale.

Motivo della modifica

.NET in macOS si basa sul sistema operativo per fornire un'implementazione di DSA. Apple ha eseguito questa operazione tramite una libreria ora obsoleta denominata SecurityTransforms, senza sostituzione. L'implementazione offerta da Apple era limitata anche nelle funzionalità. Supporta solo DSA-1024 con SHA-1, considerato debole. Inoltre, non ha mai supportato la generazione di chiavi DSA.

IOS, tvOS e MacCatalyst non supportano mai DSA.

Eseguire la migrazione dall'algoritmo DSA e usare un algoritmo di firma digitale crittografica moderno, ad esempio EC-DSA (DSA curva ellittica).

Le API interessate

Inoltre, tutte le API che interagiscono con le chiavi DSA sono interessate.