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


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).

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