Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

RSAOAEPKeyExchangeDeformatter.DecryptKeyExchange Method

Extracts secret information from the encrypted key exchange data.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

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

Parameters

rgbData
Type: System.Byte[]

The key exchange data within which the secret information is hidden.

Return Value

Type: System.Byte[]
The secret information derived from the key exchange data.

ExceptionCondition
CryptographicException

The key exchange data verification has failed.

CryptographicUnexpectedOperationException

The key is missing.

You must specify a key before calling this method.

The following example shows how to use the DecryptKeyExchange method to recreate an exchange key from a message sender. This code example is part of a larger example provided for the RSAPKCS1KeyExchangeDeformatter class.

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);
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft