Compartir vía


Algunos constructores X509Certificate2 y X509Certificate están obsoletos

Los constructores de X509Certificate y X509Certificate2 que aceptan contenido como byte[], ReadOnlySpan<byte> o una ruta de acceso de archivo de string están obsoletos, a partir de .NET 9. Los métodos Import en X509Certificate2Collection también están obsoletos. Si se los llama en el código, se genera la advertencia SYSLIB0057 en tiempo de compilación.

Comportamiento anterior

Los desarrolladores podrían usar las API afectadas sin una advertencia obsoleta.

Comportamiento nuevo

Las API afectadas recibirán una advertencia de compilación obsoleta con el identificador SYSLIB0057.

Versión introducida

.NET 9 (versión preliminar 7)

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad de orígenes.

Motivo del cambio

Las API afectadas admiten la carga de certificados en varios formatos. Por ejemplo, new X509Certificate2(data) cargado un certificado desde un byte[] denominado data. data podría ser uno de los formatos admitidos, incluidos X.509, PKCS7 o PKCS12/PFX.

Aunque este método era fácil de usar, creó problemas en los que los datos proporcionados por el usuario se pasaron con un formato diferente al previsto. Esto podría permitir la carga de PKCS12, donde solo se pretendía cargar contenido X.509. O bien, podría crear problemas de interoperabilidad para controlar los datos de maneras diferentes.

Para obtener soluciones alternativas, consulte Solución alternativa.

API afectadas

Para ver las API afectadas, consulte SYSLIB0057.