Поделиться через


X509Certificate2.CreateFromPemFile(String, String) Метод

Определение

Создает новый сертификат X.509 на основе содержимого файла сертификата RFC 7468 в кодировке PEM и закрытый ключ.

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

Параметры

certPemFilePath
String

Путь для сертификата X.509 в кодировке PEM.

keyPemFilePath
String

Если задать, будет использоваться путь к закрытому ключу в кодировке PEM. Если не задать, для загрузки закрытого ключа будет использоваться файл certPemFilePath.

Возвращаемое значение

Новый сертификат с закрытым ключом.

Атрибуты

Исключения

Содержимое пути к файлу в certPemFilePath не содержит сертификат в кодировке PEM или имеет неправильный формат.

-или-

Содержимое пути к файлу в keyPemFilePath не содержит закрытый ключ в кодировке PEM или имеет неправильный формат.

-или-

Содержимое пути к файлу в keyPemFilePath содержит ключ, который не соответствует открытому ключу в сертификате.

-или-

В сертификате используется неизвестный алгоритм открытого ключа.

certPemFilePath имеет значение null.

Комментарии

Дополнительные сведения об исключениях, которые можно создавать, см ReadAllText(String) . в этой статье.

SubjectPublicKeyInfo из сертификата определяет, какие метки PEM принимаются для закрытого ключа. Для сертификатов RSA допустимыми метками PEM закрытого ключа являются "ЗАКРЫТЫЙ КЛЮЧ RSA" и "ЗАКРЫТЫЙ КЛЮЧ". Для сертификатов ECDSA допустимыми метками PEM закрытого ключа являются "ЗАКРЫТЫЙ КЛЮЧ EC" и "ЗАКРЫТЫЙ КЛЮЧ". Для сертификатов DSA принятой меткой PEM закрытого ключа является "ЗАКРЫТЫЙ КЛЮЧ".

Элементы в кодировке PEM с другой меткой игнорируются.

Для объединенных сертификатов и ключей в кодировке PEM не требуется определенный порядок. Для сертификата загружается первый сертификат с меткой CERTIFICATE. Для закрытого ключа загружается первый закрытый ключ с допустимой меткой. Более сложные сценарии загрузки сертификатов и закрытых ключей могут использоваться для PemEncoding перечисления значений в кодировке PEM и применения любого пользовательского поведения загрузки.

Для защищенных паролем ключей PEM используйте CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) , чтобы указать пароль.

Применяется к