AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptar com uma palavra-passe baseada em bytes, substituindo as chaves deste objeto. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptação com uma palavra-passe baseada em caracteres, substituindo as chaves deste objeto. |
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptar com uma palavra-passe baseada em bytes, substituindo as chaves deste objeto.
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)
Parâmetros
- passwordBytes
- ReadOnlySpan<Byte>
Os bytes a usar como palavra-passe ao desencriptar o material da chave.
- source
- ReadOnlySpan<Byte>
Os bytes de uma estrutura PKCS#8 EncryptedPrivateKeyInfo na codificação ASN.1-BER.
- bytesRead
- Int32
Quando este método retorna, contém um valor que indica o número de bytes lidos de source. Este parâmetro é tratado como não inicializado.
Exceções
A palavra-passe está incorreta.
-ou-
O conteúdo indica source que a Função de Derivação de Chave (KDF) deve ser aplicada é a KDF legada PKCS#12, que requer Charpalavras-passe baseadas em .
-ou-
O conteúdo de source não representa uma estrutura PKCS#8 EncryptedPrivateKeyInfo codificada em ASN.1-BER.
-ou-
O conteúdo de source indica que a chave pertence a um algoritmo diferente do algoritmo representado por esta instância.
-ou-
O conteúdo de source representa a chave num formato que não é suportado.
-ou-
A importação de chaves específicas do algoritmo falhou.
Um tipo derivado não sobrescreveu este elemento.
Observações
Os bytes da palavra-passe são passados diretamente para a Função de Derivação de Chaves (KDF) usada pelo algoritmo indicado por pbeParameters.
Isto permite a compatibilidade com outros sistemas que utilizam uma codificação de texto diferente da UTF-8 ao processar palavras-passe com PBKDF2 (Password-Based Função de Derivação de Chaves 2).
Este método suporta apenas a codificação binária (BER/CER/DER) do EncryptedPrivateKeyInfo. Se o valor estiver codificado em Base64 ou no formato de texto PEM, o chamador deve decodificar o conteúdo em Base64 antes de chamar este método.
Como é necessário suporte específico de algoritmo para interpretar o conteúdo deste formato de dados, ImportEncryptedPkcs8PrivateKey lança um NotImplementedException por defeito.
Aplica-se a
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptação com uma palavra-passe baseada em caracteres, substituindo as chaves deste objeto.
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)
Parâmetros
- password
- ReadOnlySpan<Char>
A palavra-passe a usar para decifrar o material da chave.
- source
- ReadOnlySpan<Byte>
Os bytes de uma estrutura PKCS#8 EncryptedPrivateKeyInfo na codificação ASN.1-BER.
- bytesRead
- Int32
Quando este método retorna, contém um valor que indica o número de bytes lidos de source. Este parâmetro é tratado como não inicializado.
Exceções
A palavra-passe está incorreta.
-ou-
O conteúdo de source não representa uma estrutura PKCS#8 EncryptedPrivateKeyInfo codificada em ASN.1-BER.
-ou-
O conteúdo de source indica que a chave pertence a um algoritmo diferente do algoritmo representado por esta instância.
-ou-
O conteúdo de source representa a chave num formato que não é suportado.
-ou-
A importação de chaves específicas do algoritmo falhou.
Um tipo derivado não sobrescreveu este elemento.
Observações
Quando o conteúdo de source indica um algoritmo que utiliza PBKDF1 (Password-Based Função de Derivação de Chave 1) ou PBKDF2 (Password-Based Função de Derivação de Chaves 2), a palavra-passe é convertida em bytes através da codificação UTF-8.
Este método suporta apenas a codificação binária (BER/CER/DER) do EncryptedPrivateKeyInfo. Se o valor estiver codificado em Base64 ou no formato de texto PEM, o chamador deve decodificar o conteúdo em Base64 antes de chamar este método.
Como é necessário suporte específico de algoritmo para interpretar o conteúdo deste formato de dados, ImportEncryptedPkcs8PrivateKey lança um NotImplementedException por defeito.