AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey Метод

Определение

Перегрузки

Имя Описание
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

При переопределении в производном классе импортирует открытый и закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе байтов, заменив ключи для этого объекта.

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

При переопределении в производном классе импортирует открытый/закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе символов, заменив ключи для этого объекта.

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

Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs

При переопределении в производном классе импортирует открытый и закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе байтов, заменив ключи для этого объекта.

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>

Байты, которые следует использовать в качестве пароля при расшифровке материала ключа.

source
ReadOnlySpan<Byte>

Байты структуры PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.

bytesRead
Int32

При возврате этого метода содержит значение, указывающее количество байтов, считываемых из source. Этот параметр рассматривается как неинициализированный.

Исключения

Пароль неверный.

–или–

Содержимое source указывает, что функция вывода ключей (KDF), которую необходимо применить, является устаревшим PKCS#12 KDF, для которого требуются Charпароли на основе.

–или–

Содержимое source не представляет структуру PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.

–или–

Содержимое source указывает, что ключ предназначен для алгоритма, отличного от алгоритма, представленного этим экземпляром.

–или–

Содержимое source представляет ключ в формате, который не поддерживается.

–или–

Сбой импорта ключа для конкретного алгоритма.

Производный тип не переопределяет этот член.

Комментарии

Байты паролей передаются непосредственно в функцию вывода ключей (KDF), используемую алгоритмом, указанным в pbeParametersнем. Это обеспечивает совместимость с другими системами, использующим кодировку текста, отличное от UTF-8 при обработке паролей с помощью PBKDF2 (функция 2Password-Based на основе ключа).

Этот метод поддерживает только двоичную кодировку (BER/CER/DER) EncryptedPrivateKeyInfo. Если значение закодировано в Кодировке Base64 или в текстовом формате PEM, вызывающий объект должен декодировать содержимое перед вызовом этого метода.

Так как для интерпретации содержимого этого формата данных требуется поддержка, связанная с алгоритмом, ImportEncryptedPkcs8PrivateKey вызывается NotImplementedException по умолчанию.

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

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

Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs
Исходный код:
AsymmetricAlgorithm.cs

При переопределении в производном классе импортирует открытый/закрытый ключ из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки паролем на основе символов, заменив ключи для этого объекта.

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>

Пароль, используемый для расшифровки материала ключа.

source
ReadOnlySpan<Byte>

Байты структуры PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.

bytesRead
Int32

При возврате этого метода содержит значение, указывающее количество байтов, считываемых из source. Этот параметр рассматривается как неинициализированный.

Исключения

Пароль неверный.

–или–

Содержимое source не представляет структуру PKCS#8 EncryptedPrivateKeyInfo в кодировке ASN.1-BER.

–или–

Содержимое source указывает, что ключ предназначен для алгоритма, отличного от алгоритма, представленного этим экземпляром.

–или–

Содержимое source представляет ключ в формате, который не поддерживается.

–или–

Сбой импорта ключа для конкретного алгоритма.

Производный тип не переопределяет этот член.

Комментарии

Если содержимое source указывает алгоритм, использующий PBKDF1 (Password-Based функцию вывода ключей 1) или PBKDF2 (Password-Based функцию вывода ключей 2), пароль преобразуется в байты через кодировку UTF-8.

Этот метод поддерживает только двоичную кодировку (BER/CER/DER) EncryptedPrivateKeyInfo. Если значение закодировано в Кодировке Base64 или в текстовом формате PEM, вызывающий объект должен декодировать содержимое перед вызовом этого метода.

Так как для интерпретации содержимого этого формата данных требуется поддержка, связанная с алгоритмом, ImportEncryptedPkcs8PrivateKey вызывается NotImplementedException по умолчанию.

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