AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey Метод

Определение

Перегрузки

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

При переопределении в производном классе импортирует пару открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью байтового пароля и заменяет ключи для этого объекта.When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

При переопределении в производном классе импортирует пару открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью символьного пароля и заменяет ключи для этого объекта.When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

При переопределении в производном классе импортирует пару открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью байтового пароля и заменяет ключи для этого объекта.When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

public:
 virtual void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, ReadOnlySpan<byte> source, out int bytesRead);
abstract member ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
Public Overridable Sub ImportEncryptedPkcs8PrivateKey (passwordBytes As ReadOnlySpan(Of Byte), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

Параметры

passwordBytes
ReadOnlySpan<Byte>

Байты, используемые в качестве пароля при расшифровке материала ключа.The bytes to use as a password when decrypting the key material.

source
ReadOnlySpan<Byte>

Байты структуры PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.

bytesRead
Int32

При возврате метода содержит значение, которое показывает количество символов, считанных из source.When this method returns, contains a value that indicates the number of bytes read from source. Этот параметр обрабатывается как неинициализированный.This parameter is treated as uninitialized.

Исключения

Неправильный пароль.The password is incorrect.

- или --or-

Содержимое source, указывающее, что как функцию формирования ключа (KDF) следует использовать устаревшую версию PKCS#12 KDF, которая требует пароли на основе Char.The contents of source indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires Char-based passwords.

- или --or-

Содержимое source не представляет структуру PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.The contents of source do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.

- или --or-

Содержимое source указывает, что ключ относится к алгоритму, отличному от алгоритма, представленного этим экземпляром.The contents of source indicate the key is for an algorithm other than the algorithm represented by this instance.

- или --or-

Содержимое source представляет ключ в неподдерживаемом формате.The contents of source represent the key in a format that is not supported.

- или --or-

Не удалось выполнить импорт ключа, зависящего от алгоритма.The algorithm-specific key import failed.

Этот элемент не был переопределен в производном типе.A derived type has not overriden this member.

Комментарии

Байты паролей передаются непосредственно в функцию формирования ключа (ПОДПРОГРАММ), используемую алгоритмом, указанным pbeParameters .The password bytes are passed directly into the Key Derivation Function (KDF) used by the algorithm indicated by pbeParameters. Это обеспечивает совместимость с другими системами, использующими кодировку текста, отличную от UTF-8, при обработке паролей с помощью PBKDF2 (функция наследования ключа на основе пароля 2).This enables compatibility with other systems which use a text encoding other than UTF-8 when processing passwords with PBKDF2 (Password-Based Key Derivation Function 2).

Этот метод поддерживает только двоичную (ЛИЧЕСТВО/CER/DER) кодировку Енкриптедприватекэйинфо.This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo. Если значение в кодировке Base64 или в текстовом формате PEM, вызывающий объект должен в Base64-декодировать содержимое перед вызовом этого метода.If the value is Base64-encoded or in the PEM text format, the caller must Base64-decode the contents before calling this method.

Поскольку для интерпретации содержимого этого формата данных требуется поддержка определенного алгоритма, ImportEncryptedPkcs8PrivateKey NotImplementedException по умолчанию создает исключение.Because algorithm-specific support is required to interpret the contents of this data format, ImportEncryptedPkcs8PrivateKey throws a NotImplementedException by default.

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

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

При переопределении в производном классе импортирует пару открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью символьного пароля и заменяет ключи для этого объекта.When overridden in a derived class, imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

public:
 virtual void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, ReadOnlySpan<byte> source, out int bytesRead);
abstract member ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
Public Overridable Sub ImportEncryptedPkcs8PrivateKey (password As ReadOnlySpan(Of Char), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

Параметры

password
ReadOnlySpan<Char>

Пароль, используемый при расшифровке материала ключа.The password to use for decrypting the key material.

source
ReadOnlySpan<Byte>

Байты структуры PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.

bytesRead
Int32

При возврате метода содержит значение, которое показывает количество символов, считанных из source.When this method returns, contains a value that indicates the number of bytes read from source. Этот параметр обрабатывается как неинициализированный.This parameter is treated as uninitialized.

Исключения

Неправильный пароль.The password is incorrect.

- или --or-

Содержимое source не представляет структуру PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.The contents of source do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.

- или --or-

Содержимое source указывает, что ключ относится к алгоритму, отличному от алгоритма, представленного этим экземпляром.The contents of source indicate the key is for an algorithm other than the algorithm represented by this instance.

- или --or-

Содержимое source представляет ключ в неподдерживаемом формате.The contents of source represent the key in a format that is not supported.

- или --or-

Не удалось выполнить импорт ключа, зависящего от алгоритма.The algorithm-specific key import failed.

Этот элемент не был переопределен в производном типе.A derived type has not overriden this member.

Комментарии

Если содержимое source указывает алгоритм, использующий PBKDF1 (функция формирования ключа на основе пароля 1) или PBKDF2 (функция формирования ключа на основе пароля 2), то пароль преобразуется в байты через кодировку UTF-8.When the contents of source indicate an algorithm that uses PBKDF1 (Password-Based Key Derivation Function 1) or PBKDF2 (Password-Based Key Derivation Function 2), the password is converted to bytes via the UTF-8 encoding.

Этот метод поддерживает только двоичную (ЛИЧЕСТВО/CER/DER) кодировку Енкриптедприватекэйинфо.This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo. Если значение в кодировке Base64 или в текстовом формате PEM, вызывающий объект должен в Base64-декодировать содержимое перед вызовом этого метода.If the value is Base64-encoded or in the PEM text format, the caller must Base64-decode the contents before calling this method.

Поскольку для интерпретации содержимого этого формата данных требуется поддержка определенного алгоритма, ImportEncryptedPkcs8PrivateKey NotImplementedException по умолчанию создает исключение.Because algorithm-specific support is required to interpret the contents of this data format, ImportEncryptedPkcs8PrivateKey throws a NotImplementedException by default.

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