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
При переопределении в производном классе импортирует пару открытого и закрытого ключей из структуры 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 (функция производного ключа на основе пароля 2).
Этот метод поддерживает только двоичную кодировку EncryptedPrivateKeyInfo (BER/CER/DER). Если значение имеет кодировку Base64 или в текстовом формате PEM, вызывающий объект должен декодировать содержимое в Base64 перед вызовом этого метода.
Так как для интерпретации содержимого этого формата данных требуется поддержка конкретного алгоритмаNotImplementedException, ImportEncryptedPkcs8PrivateKey по умолчанию вызывает исключение .
Применяется к
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)
- Исходный код:
- 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 (функция наследования ключа на основе пароля 1) или PBKDF2 (функция наследования ключа на основе пароля 2), пароль преобразуется в байты с помощью кодировки UTF-8.
Этот метод поддерживает только двоичную кодировку EncryptedPrivateKeyInfo (BER/CER/DER). Если значение имеет кодировку Base64 или в текстовом формате PEM, вызывающий объект должен декодировать содержимое в Base64 перед вызовом этого метода.
Так как для интерпретации содержимого этого формата данных требуется поддержка конкретного алгоритмаNotImplementedException, ImportEncryptedPkcs8PrivateKey по умолчанию вызывает исключение .