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


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

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

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

public:
 override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public override void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, ReadOnlySpan<byte> source, out int bytesRead);
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
Public Overrides 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 представляет ключ в неподдерживаемом формате.

-или-

Не удалось выполнить импорт ключа, зависящего от алгоритма.

Производный класс не предоставил реализацию для ImportParameters(ECParameters).

Комментарии

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

          This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo.
          If the value is Base64-encoded, the caller must Base64-decode the contents before calling this method.
          If the contents are PEM-encoded, <xref:System.Security.Cryptography.ECAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})>
          should be used.

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

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

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

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

public:
 override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public override void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, ReadOnlySpan<byte> source, out int bytesRead);
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
Public Overrides 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 представляет ключ в неподдерживаемом формате.

-или-

Не удалось выполнить импорт ключа, зависящего от алгоритма.

Производный класс не предоставил реализацию для ImportParameters(ECParameters).

Комментарии

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

          This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo.
          If the value is Base64-encoded, the caller must Base64-decode the contents before calling this method.
          If the contents are PEM-encoded, <xref:System.Security.Cryptography.ECAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})>
          should be used.

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