Share via


X509Certificate2.CreateFromPemFile(String, String) Método

Definição

Cria um certificado X509 a partir do conteúdo do arquivo de um certificado codificado por PEM do RFC 7468 e da chave 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

O caminho do certificado X509 codificado por PEM.

keyPemFilePath
String

Se especificado, o caminho da chave privada codificada por PEM. Se não for especificado, o arquivo certPemFilePath será usado para carregar a chave privada.

Retornos

Um novo certificado com a chave privada.

Atributos

Exceções

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

- ou -

O conteúdo do caminho do arquivo em keyPemFilePath não contém uma chave privada codificada por PEM ou está malformado.

- ou -

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

- ou -

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

certPemFilePath é null.

Comentários

Consulte ReadAllText(String) para obter documentação adicional sobre exceções que podem ser geradas.

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

Os itens codificados em PEM que têm um rótulo diferente são ignorados.

Certificados e chaves codificados em PEM combinados não exigem uma ordem específica. Para o certificado, o primeiro certificado com um rótulo CERTIFICATE é carregado. 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 por PEM protegidas por senha, use CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) para especificar uma senha.

Aplica-se a