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) , чтобы указать пароль.