Compartir a través de


SYSLIB0028: X509Certificate2.PrivateKey está obsoleta

La propiedad X509Certificate2.PrivateKey está marcada como obsoleta a partir de .NET 6. El empleo de esta API en el código genera una advertencia SYSLIB0028 en tiempo de compilación.

Soluciones alternativas

Use el método adecuado para obtener la clave privada, como RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2), o el método X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) para crear una nueva instancia con una clave privada.

Supresión de una advertencia

Si tiene que seguir usando las API obsoletas, puede suprimir la advertencia en el código o en el archivo de proyecto.

Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y luego volver a habilitar la advertencia.

// Disable the warning.
#pragma warning disable SYSLIB0028

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0028

Para suprimir todas las advertencias SYSLIB0028 del proyecto, agregue una propiedad <NoWarn> al archivo del proyecto.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0028</NoWarn>
  </PropertyGroup>
</Project>

Para obtener más información, vea Suprimir advertencias.