X509Certificate2.CreateFromEncryptedPemFile Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый сертификат X.509 на основе содержимого файла сертификата RFC 7468 в кодировке PEM и защищенный паролем закрытый ключ.
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPemFile (string certPemFilePath, ReadOnlySpan<char> password, string? keyPemFilePath = default);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPemFile (string certPemFilePath, ReadOnlySpan<char> password, string? keyPemFilePath = default);
static member CreateFromEncryptedPemFile : string * ReadOnlySpan<char> * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateFromEncryptedPemFile : string * ReadOnlySpan<char> * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Shared Function CreateFromEncryptedPemFile (certPemFilePath As String, password As ReadOnlySpan(Of Char), Optional keyPemFilePath As String = Nothing) As X509Certificate2
Параметры
- certPemFilePath
- String
Путь для сертификата X.509 в кодировке PEM.
- password
- ReadOnlySpan<Char>
Пароль для зашифрованного файла PEM.
- keyPemFilePath
- String
Если задать, будет использоваться путь к защищенному паролем закрытому ключу в кодировке PEM.
Если не задать, для загрузки закрытого ключа будет использоваться файл certPemFilePath
.
Возвращаемое значение
Новый сертификат с закрытым ключом.
- Атрибуты
Исключения
Содержимое пути к файлу в certPemFilePath
не содержит сертификат в кодировке PEM или имеет неправильный формат.
-или-
Содержимое пути к файлу в keyPemFilePath
не содержит защищенный паролем закрытый ключ в кодировке PEM или имеет неправильный формат.
-или-
Содержимое пути к файлу в keyPemFilePath
содержит ключ, который не соответствует открытому ключу в сертификате.
-или-
Сертификат использует неизвестный алгоритм открытого ключа.
-или-
Пароль, указанный для закрытого ключа, неправильный.
certPemFilePath
имеет значение null
.
Комментарии
Дополнительные сведения об исключениях, которые могут возникать, см ReadAllText(String) . в этой документации.
Ключи, защищенные паролем в кодировке PEM, всегда должны иметь метку PEM "ENCRYPTED PRIVATE KEY".
Элементы в кодировке PEM, имеющие другую метку, игнорируются.
Объединенные сертификаты и ключи в кодировке PEM не требуют определенного порядка. Для сертификата загружается первый сертификат с меткой CERTIFICATE. Для закрытого ключа загружается первый закрытый ключ с меткой "ENCRYPTED PRIVATE KEY". В более сложных сценариях загрузки сертификатов и закрытых ключей можно использовать для PemEncoding перечисления значений в кодировке PEM и применения любого пользовательского поведения загрузки.
Для ключей в кодировке PEM без пароля используйте CreateFromPemFile(String, String).