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

Определение

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

[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

Параметры

certPemFilePath
String

Путь к сертификату X509 в кодировке PEM.

keyPemFilePath
String

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

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

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

Атрибуты

Исключения

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

–или–

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

–или–

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

–или–

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

certPemFilePath равно null.

Комментарии

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

SubjectPublicKeyInfo из сертификата определяет, какие метки PEM принимаются для закрытого ключа. Для сертификатов RSA приняты метки PEM закрытого ключа: RSA PRIVATE KEY и PRIVATE KEY. Для сертификатов ECDSA приняты метки PEM закрытого ключа: EC PRIVATE KEY и PRIVATE KEY. Для сертификатов DSA принятое метка PEM закрытого ключа — PRIVATE KEY.

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

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

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

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