X509Certificate2.CreateFromPemFile(String, String) Método

Definição

Cria um novo certificado X509 a partir do conteúdo do ficheiro de um certificado codificado em PEM RFC 7468 e de uma chave privada.

[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile(string certPemFilePath, string? keyPemFilePath = default);
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile(string certPemFilePath, string? keyPemFilePath = default);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateFromPemFile : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
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

O caminho para o certificado X509 codificado em PEM.

keyPemFilePath
String

Se especificado, o caminho para a chave privada codificada em PEM. Se não especificado, o certPemFilePath ficheiro será usado para carregar a chave privada.

Devoluções

Um novo certificado com a chave privada.

Atributos

Exceções

O conteúdo do caminho do ficheiro em certPemFilePath não contém um certificado codificado em PEM, ou está malformado.

-ou-

O conteúdo do caminho do ficheiro em keyPemFilePath não contém uma chave privada codificada em PEM, ou está mal formado.

-ou-

O conteúdo do caminho do ficheiro em keyPemFilePath contém uma chave que não corresponde à chave pública no certificado.

-ou-

O certificado utiliza um algoritmo de chave pública desconhecido.

certPemFilePath é null.

Observações

Consulte ReadAllText(String) documentação adicional sobre exceções que podem ser lançadas.

O SubjectPublicKeyInfo do certificado determina quais os rótulos PEM aceites para a chave privada. Para os certificados RSA, as etiquetas PEM de chave privada aceites são "RSA PRIVATE KEY" e "PRIVATE KEY". Para os certificados ECDSA, as etiquetas PEM de chave privada aceites são "EC PRIVATE KEY" e "PRIVATE KEY". Para certificados DSA, a etiqueta PEM de chave privada aceite é "PRIVATE KEY".

Itens codificados em PEM que têm uma etiqueta diferente são ignorados.

Certificados e chaves codificados em PEM combinados não requerem uma ordem específica. Para o certificado, é carregado o primeiro certificado com a etiqueta CERTIFICATE. Para a chave privada, a primeira chave privada com um rótulo aceitável é carregada. Cenários mais avançados para carregar certificados e chaves privadas podem aproveitar PemEncoding para enumerar valores codificados em PEM e aplicar qualquer comportamento de carregamento personalizado.

Para chaves codificadas em PEM protegidas por palavra-passe, use CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) para especificar uma palavra-passe.

Aplica-se a