X509Certificate2.CreateFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) Метод

Определение

Создает новый сертификат X.509 на основе содержимого сертификата RFC 7468 в кодировке PEM и защищенный паролем закрытый ключ.Creates a new X509 certificate from the contents of an RFC 7468 PEM-encoded certificate and password protected private key.

public:
 static System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CreateFromEncryptedPem(ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password);
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPem (ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password);
static member CreateFromEncryptedPem : ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Shared Function CreateFromEncryptedPem (certPem As ReadOnlySpan(Of Char), keyPem As ReadOnlySpan(Of Char), password As ReadOnlySpan(Of Char)) As X509Certificate2

Параметры

certPem
ReadOnlySpan<Char>

Текст сертификата X.509 в кодировке PEM.The text of the PEM-encoded X509 certificate.

keyPem
ReadOnlySpan<Char>

Текст защищенного паролем закрытого ключа в кодировке PEM.The text of the password protected PEM-encoded private key.

password
ReadOnlySpan<Char>

Пароль для зашифрованного файла PEM.The password for the encrypted PEM.

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

X509Certificate2

Новый сертификат с закрытым ключом.A new certificate with the private key.

Исключения

Содержимое certPem не содержит сертификат в кодировке PEM или имеет неправильный формат.The contents of certPem do not contain a PEM-encoded certificate, or it is malformed.

- или --or-

Содержимое keyPem не содержит защищенный паролем закрытый ключ в кодировке PEM или имеет неправильный формат.The contents of keyPem do not contain a password protected PEM-encoded private key, or it is malformed.

- или --or-

Содержимое keyPem содержит ключ, который не соответствует открытому ключу в сертификате.The contents of keyPem contains a key that does not match the public key in the certificate.

- или --or-

Сертификат использует неизвестный алгоритм открытого ключа.The certificate uses an unknown public key algorithm.

- или --or-

Пароль, указанный для закрытого ключа, неправильный.The password specified for the private key is incorrect.

Комментарии

Для защищенных паролем ключей в кодировке PEM всегда требуется метка PEM "ЗАШИФРОВАНный закрытый ключ".Password protected PEM-encoded keys are always expected to have the PEM label "ENCRYPTED PRIVATE KEY".

Элементы в кодировке PEM с разными метками игнорируются.PEM-encoded items that have a different label are ignored.

Если сертификат в кодировке PEM и закрытый ключ находятся в одном и том же тексте, используйте одну и ту же строку для certPem и keyPem , например CreateFromEncryptedPem(combinedCertAndKey, combinedCertAndKey, theKeyPassword); .If the PEM-encoded certificate and private key are in the same text, use the same string for both certPem and keyPem, for example, CreateFromEncryptedPem(combinedCertAndKey, combinedCertAndKey, theKeyPassword);. Объединенные сертификаты и ключи в кодировке PEM не нуждаются в определенном порядке.Combined PEM-encoded certificates and keys do not require a specific order. Для сертификата загружается первый сертификат с меткой сертификата.For the certificate, the the first certificate with a CERTIFICATE label is loaded. Для закрытого ключа загружается первый закрытый ключ с меткой "ЗАШИФРОВАНный закрытый ключ".For the private key, the first private key with the label "ENCRYPTED PRIVATE KEY" is loaded. Более сложные сценарии для загрузки сертификатов и закрытых ключей могут использовать PemEncoding для перечисления значений в кодировке PEM и применения любых пользовательских функций загрузки.More advanced scenarios for loading certificates and private keys can leverage PemEncoding to enumerate PEM-encoded values and apply any custom loading behavior.

Для ключей с кодировкой PEM без пароля используйте CreateFromPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) .For PEM-encoded keys without a password, use CreateFromPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>).

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