RSAOAEPKeyExchangeDeformatter.DecryptKeyExchange(Byte[]) Método

Definição

Extrai informações secretas dos dados de troca de chaves criptografados.

public override byte[] DecryptKeyExchange (byte[] rgbData);

Parâmetros

rgbData
Byte[]

Os dados de troca de chaves dentro dos quais as informações secretas estão ocultas.

Retornos

Byte[]

As informações secretas derivadas dos dados de troca de chaves.

Exceções

A verificação de dados de troca de chaves falhou.

Exemplos

O exemplo a seguir mostra como usar o DecryptKeyExchange método para recriar uma chave de troca de um remetente de mensagem. Este exemplo de código faz parte de um exemplo maior fornecido para a RSAPKCS1KeyExchangeDeformatter classe .

public void Receive(byte[] iv, byte[] encryptedSessionKey, byte[] encryptedMessage)
{

    using (Aes aes = new AesCryptoServiceProvider())
    {
        aes.IV = iv;

        // Decrypt the session key
        RSAOAEPKeyExchangeDeformatter keyDeformatter = new RSAOAEPKeyExchangeDeformatter(rsaKey);
        aes.Key = keyDeformatter.DecryptKeyExchange(encryptedSessionKey);

        // Decrypt the message
        using (MemoryStream plaintext = new MemoryStream())
        using (CryptoStream cs = new CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write))
        {
            cs.Write(encryptedMessage, 0, encryptedMessage.Length);
            cs.Close();

            string message = Encoding.UTF8.GetString(plaintext.ToArray());
            Console.WriteLine(message);
        }
    }
}

Comentários

Você deve especificar uma chave antes de chamar esse método.

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também