RSAOAEPKeyExchangeFormatter.CreateKeyExchange RSAOAEPKeyExchangeFormatter.CreateKeyExchange RSAOAEPKeyExchangeFormatter.CreateKeyExchange RSAOAEPKeyExchangeFormatter.CreateKeyExchange Method

Definice

Vytvoří data zašifrovaným klíčem změny.Creates the encrypted key exchange data.

Přetížení

CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[])

Vytvoří data zašifrovaným klíčem změny ze zadané vstupní data.Creates the encrypted key exchange data from the specified input data.

CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type)

Vytvoří data zašifrovaným klíčem změny ze zadané vstupní data.Creates the encrypted key exchange data from the specified input data.

CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[]) CreateKeyExchange(Byte[])

Vytvoří data zašifrovaným klíčem změny ze zadané vstupní data.Creates the encrypted key exchange data from the specified input data.

public:
 override cli::array <System::Byte> ^ CreateKeyExchange(cli::array <System::Byte> ^ rgbData);
public override byte[] CreateKeyExchange (byte[] rgbData);
override this.CreateKeyExchange : byte[] -> byte[]
Public Overrides Function CreateKeyExchange (rgbData As Byte()) As Byte()

Parametry

rgbData
Byte[]

Tajné informace, které mají být předané ve výměně klíčů.The secret information to be passed in the key exchange.

Návraty

Byte[]

Zašifrovaným klíčem změny dat k odeslání do zamýšlený příjemce.The encrypted key exchange data to be sent to the intended recipient.

Výjimky

Poznámky

Tato data lze interpretovat pouze držitelem privátního klíče odpovídajícího veřejný klíč používaný k šifrování dat.This data can be interpreted only by the holder of the private key corresponding to the public key used to encrypt the data. To pomáhá zajistit, že zamýšlený příjemce dostanete tajných informací.This helps to ensure that only the intended recipient can access the secret information.

Viz také

CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type) CreateKeyExchange(Byte[], Type)

Vytvoří data zašifrovaným klíčem změny ze zadané vstupní data.Creates the encrypted key exchange data from the specified input data.

public:
 override cli::array <System::Byte> ^ CreateKeyExchange(cli::array <System::Byte> ^ rgbData, Type ^ symAlgType);
public override byte[] CreateKeyExchange (byte[] rgbData, Type symAlgType);
override this.CreateKeyExchange : byte[] * Type -> byte[]
Public Overrides Function CreateKeyExchange (rgbData As Byte(), symAlgType As Type) As Byte()

Parametry

rgbData
Byte[]

Tajné informace, které mají být předané ve výměně klíčů.The secret information to be passed in the key exchange.

symAlgType
Type Type Type Type

Tento parametr se nepoužívá v aktuální verzi.This parameter is not used in the current version.

Návraty

Byte[]

Zašifrovaným klíčem změny dat k odeslání do zamýšlený příjemce.The encrypted key exchange data to be sent to the intended recipient.

Příklady

Následující příklad ukazuje způsob použití RSAOAEPKeyExchangeFormatter.CreateKeyExchange metodu pro vytvoření klíč pro výměnu pro příjemce zprávy.The following example shows how to use the RSAOAEPKeyExchangeFormatter.CreateKeyExchange method to create an exchange key for a message recipient. Tento příklad kódu je součástí většího příkladu určeného pro RSAOAEPKeyExchangeFormatter třídyThis code example is part of a larger example provided for the RSAOAEPKeyExchangeFormatter class

private static void Send(RSA key, string secretMessage, out byte[] iv, out byte[] encryptedSessionKey, out byte[] encryptedMessage)
{
    using (Aes aes = new AesCryptoServiceProvider())
    {
        iv = aes.IV;

        // Encrypt the session key
        RSAPKCS1KeyExchangeFormatter keyFormatter = new RSAPKCS1KeyExchangeFormatter(key);
        encryptedSessionKey = keyFormatter.CreateKeyExchange(aes.Key, typeof(Aes));

        // Encrypt the message
        using (MemoryStream ciphertext = new MemoryStream())
        using (CryptoStream cs = new CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write))
        {
            byte[] plaintextMessage = Encoding.UTF8.GetBytes(secretMessage);
            cs.Write(plaintextMessage, 0, plaintextMessage.Length);
            cs.Close();

            encryptedMessage = ciphertext.ToArray();
        }
    }
}
Private Shared Sub Send(ByVal key As RSA, ByVal secretMessage As String, ByRef iv() As Byte, ByRef encryptedSessionKey() As Byte, ByRef encryptedMessage() As Byte)
    Dim aes = New AesCryptoServiceProvider()
    Try
        iv = aes.IV

        ' Encrypt the session key
        Dim keyFormatter As New RSAPKCS1KeyExchangeFormatter(key)
        encryptedSessionKey = keyFormatter.CreateKeyExchange(aes.Key, GetType(Aes))

        ' Encrypt the message
        Dim ciphertext As New MemoryStream()
        Try
            Dim cs As New CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write)
            Try
                Dim plaintextMessage As Byte() = Encoding.UTF8.GetBytes(secretMessage)
                cs.Write(plaintextMessage, 0, plaintextMessage.Length)
                cs.Close()

                encryptedMessage = ciphertext.ToArray()
            Finally
                cs.Dispose()
            End Try
        Finally
            ciphertext.Dispose()
        End Try
    Finally
        aes.Dispose()
    End Try

End Sub 'Send 

Poznámky

Tato data lze interpretovat pouze držitelem privátního klíče odpovídajícího veřejný klíč používaný k šifrování dat.This data can be interpreted only by the holder of the private key corresponding to the public key used to encrypt the data. To pomáhá zajistit, že zamýšlený příjemce dostanete tajných informací.This helps to ensure that only the intended recipient can access the secret information.

Viz také

Platí pro