Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
A partir de .NET 11, el algoritmo de firma digital (DSA) ya no se admite en macOS. Esta eliminación solo afecta a DSA "campo finito". La curva elíptica DSA (EC-DSA) no se ve afectada. Los intentos de usar DSA, DSACryptoServiceProvider u otras API que interactúan con DSA provocan una PlatformNotSupportedException en macOS.
Versión introducida
.NET 11 Preview 1
Comportamiento anterior
Anteriormente, el algoritmo DSA y sus tipos auxiliares, DSA, DSACryptoServiceProvider, y los certificados X.509 con claves DSA funcionaban en macOS.
Nuevo comportamiento
DSA ya no funciona en macOS. Los intentos de usar DSA, DSACryptoServiceProvider u otras API que interactúan con DSA lanzan una PlatformNotSupportedException.
Tipo de cambio disruptivo
Este es un cambio de comportamiento.
Motivo del cambio
.NET en macOS se basa en el sistema operativo para proporcionar una implementación de DSA. Apple lo hizo a través de una biblioteca ahora obsoleta denominada SecurityTransforms, sin reemplazo. La implementación que apple ofrecía también estaba limitada en la funcionalidad. Solo se admitía DSA-1024 con SHA-1, que se consideraba débil. Además, nunca se admite la generación de claves DSA.
iOS, tvOS y MacCatalyst nunca admitieron DSA.
Acción recomendada
Migre del algoritmo DSA y use un algoritmo de firma digital criptográfica moderno, como EC-DSA (DSA de curva elíptica).
Las APIs afectadas
- DSA.Create
- Los constructores de DSACryptoServiceProvider
- DSACertificateExtensions.GetDSAPrivateKey(X509Certificate2)
- DSACertificateExtensions.GetDSAPublicKey(X509Certificate2)
- DSACertificateExtensions.CopyWithPrivateKey(X509Certificate2, DSA)
Además, las API que interactúan con las claves DSA se ven afectadas.