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) для указания пароля.