Partilhar via


AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey Método

Definição

Sobrecargas

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

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em bytes, substituindo as chaves desse objeto.

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

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em caracteres, substituindo as chaves desse objeto.

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

Origem:
AsymmetricAlgorithm.cs
Origem:
AsymmetricAlgorithm.cs
Origem:
AsymmetricAlgorithm.cs

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em bytes, substituindo as chaves desse 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 serem usados como senha ao descriptografar o material da chave.

source
ReadOnlySpan<Byte>

Os bytes de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 na codificação ASN.1-BER.

bytesRead
Int32

Quando é retornado, este método contém um valor que indica o número de bytes lidos de source. Esse parâmetro é tratado como não inicializado.

Exceções

A senha está incorreta.

- ou -

O conteúdo de source indica que a KDF (Função de Derivação de Chaves) a ser aplicada é a KDF do PKCS nº 12 herdada, que requer senhas baseadas em Char.

- ou -

O conteúdo de source não representa uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 codificada por ASN.1-BER.

- ou -

O conteúdo de source indica que a chave é de um algoritmo que não é aquele representado por essa instância.

- ou -

O conteúdo de source representa a chave em um formato sem suporte.

- ou -

Falha na importação da chave específica do algoritmo.

Um tipo derivado não substituiu esse membro.

Comentários

Os bytes de senha são passados diretamente para a Função de Derivação de Chave (KDF) usada pelo algoritmo indicado por pbeParameters. Isso permite a compatibilidade com outros sistemas que usam uma codificação de texto diferente de UTF-8 ao processar senhas com PBKDF2 (Função derivação de chave baseada em senha 2).

Esse método dá suporte apenas à codificação binária (BER/CER/DER) de EncryptedPrivateKeyInfo. Se o valor for codificado em Base64 ou no formato de texto PEM, o chamador deverá decodificar o conteúdo em Base64 antes de chamar esse método.

Como o suporte específico ao algoritmo é necessário para interpretar o conteúdo desse formato de dados, ImportEncryptedPkcs8PrivateKey o lança um NotImplementedException por padrão.

Aplica-se a

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

Origem:
AsymmetricAlgorithm.cs
Origem:
AsymmetricAlgorithm.cs
Origem:
AsymmetricAlgorithm.cs

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em caracteres, substituindo as chaves desse 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 senha a ser usada para descriptografar o material da chave.

source
ReadOnlySpan<Byte>

Os bytes de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 na codificação ASN.1-BER.

bytesRead
Int32

Quando é retornado, este método contém um valor que indica o número de bytes lidos de source. Esse parâmetro é tratado como não inicializado.

Exceções

A senha está incorreta.

- ou -

O conteúdo de source não representa uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 codificada por ASN.1-BER.

- ou -

O conteúdo de source indica que a chave é de um algoritmo que não é aquele representado por essa instância.

- ou -

O conteúdo de source representa a chave em um formato sem suporte.

- ou -

Falha na importação da chave específica do algoritmo.

Um tipo derivado não substituiu esse membro.

Comentários

Quando o conteúdo de source indica um algoritmo que usa PBKDF1 (Função de Derivação de Chave Baseada em Senha 1) ou PBKDF2 (Função de Derivação de Chave Baseada em Senha 2), a senha é convertida em bytes por meio da codificação UTF-8.

Esse método dá suporte apenas à codificação binária (BER/CER/DER) de EncryptedPrivateKeyInfo. Se o valor for codificado em Base64 ou no formato de texto PEM, o chamador deverá decodificar o conteúdo em Base64 antes de chamar esse método.

Como o suporte específico ao algoritmo é necessário para interpretar o conteúdo desse formato de dados, ImportEncryptedPkcs8PrivateKey o lança um NotImplementedException por padrão.

Aplica-se a