RSAOAEPKeyExchangeDeformatter.DecryptKeyExchange Method (Byte())


Extracts secret information from the encrypted key exchange data.

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

Public Overrides Function DecryptKeyExchange (
	rgbData As Byte()
) As Byte()


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.

Exception Condition

The key exchange data verification has failed.


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 Sub Receive(ByVal iv() As Byte, ByVal encryptedSessionKey() As Byte, ByVal encryptedMessage() As Byte)

    Using aes = New AesCryptoServiceProvider()

        aes.IV = iv

        ' Decrypt the session key
        Dim keyDeformatter As New RSAOAEPKeyExchangeDeformatter(rsaKey)
        aes.Key = keyDeformatter.DecryptKeyExchange(encryptedSessionKey)

        ' Decrypt the message
        Using plaintext As New MemoryStream()
            Using cs As New CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write)
                    cs.Write(encryptedMessage, 0, encryptedMessage.Length)

                    Dim message As String = Encoding.UTF8.GetString(plaintext.ToArray())
            End Using
        End Using
    End Using

End Sub 'Receive

.NET Framework
Available since 1.1
Windows Phone Silverlight
Available since 7.1
Return to top