X509Certificate2.CreateFromPemFile(String, String) Método

Definición

Crea un certificado X509 nuevo a partir del contenido del archivo de un certificado con codificación PEM de RFC 7468 y una clave privada.

public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile (string certPemFilePath, string? keyPemFilePath = default);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile (string certPemFilePath, string? keyPemFilePath = default);
static member CreateFromPemFile : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateFromPemFile : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Shared Function CreateFromPemFile (certPemFilePath As String, Optional keyPemFilePath As String = Nothing) As X509Certificate2

Parámetros

certPemFilePath
String

Ruta de acceso del certificado X509 con codificación PEM.

keyPemFilePath
String

Si se especifica, la ruta de acceso de la clave privada con codificación PEM. Si no se especifica, el archivo certPemFilePath se usará para cargar la clave privada.

Devoluciones

Certificado nuevo con la clave privada.

Atributos

Excepciones

El contenido de la ruta de acceso al archivo en certPemFilePath no incluye un certificado con codificación PEM o tiene un formato incorrecto.

o bien

El contenido de la ruta de acceso al archivo en keyPemFilePath no incluye una clave privada con codificación PEM o tiene un formato incorrecto.

o bien

El contenido de la ruta de acceso al archivo en keyPemFilePath incluye una clave que no coincide con la clave pública del certificado.

o bien

El certificado usa un algoritmo de clave pública desconocido.

certPemFilePath es null.

Comentarios

Consulte ReadAllText(String) para obtener documentación adicional sobre las excepciones que se pueden producir.

SubjectPublicKeyInfo del certificado determina qué etiquetas PEM se aceptan para la clave privada. En el caso de los certificados RSA, las etiquetas PEM de clave privada aceptadas son "RSA PRIVATE KEY" y "PRIVATE KEY". En el caso de los certificados ECDSA, las etiquetas PEM de clave privada aceptadas son "EC PRIVATE KEY" y "PRIVATE KEY". En el caso de los certificados DSA, la etiqueta PEM de clave privada aceptada es "PRIVATE KEY".

Los elementos codificados en PEM que tienen una etiqueta diferente se omiten.

Los certificados y claves codificados en PEM combinados no requieren un orden específico. Para el certificado, se carga el primer certificado con una etiqueta CERTIFICATE. Para la clave privada, se carga la primera clave privada con una etiqueta aceptable. Los escenarios más avanzados para cargar certificados y claves privadas pueden aprovechar PemEncoding para enumerar valores codificados en PEM y aplicar cualquier comportamiento de carga personalizado.

Para las claves con codificación PEM protegidas con contraseña, use CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) para especificar una contraseña.

Se aplica a