Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo RSAPKCS1KeyExchangeFormatter.CreateKeyExchange (Byte[], Type)

 

Data di pubblicazione: novembre 2016

Crea i dati crittografati di scambio delle chiavi dai dati di input specificati.

Spazio dei nomi:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public override byte[] CreateKeyExchange(
	byte[] rgbData,
	Type symAlgType
)

Parametri

rgbData
Type: System.Byte[]

Informazioni segrete da passare nello scambio delle chiavi.

symAlgType
Type: System.Type

Questo parametro non viene usato nella versione corrente.

Valore restituito

Type: System.Byte[]

Dati crittografati di scambio delle chiavi da inviare al destinatario prescelto.

This data can be interpreted only by the holder of the private key corresponding to the public key used to encrypt the data. This helps to ensure that only the intended recipient can access the secret information.

The following example shows how to use the M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type) method to create an exchange key for a message recipient. This code example is part of a larger example provided for the T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter 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();
        }
    }
}

.NET Framework
Disponibile da 1.1
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra: