This topic has not yet been rated - Rate this topic

ExchangeAlgorithmType Enumeration

Specifies the algorithm used to create keys shared by the client and server.

Namespace:  System.Security.Authentication
Assembly:  System (in System.dll)
public enum ExchangeAlgorithmType
Member name Description
None No key exchange algorithm is used.
RsaSign The RSA public-key signature algorithm.
RsaKeyX The RSA public-key exchange algorithm.
DiffieHellman The Diffie Hellman ephemeral key exchange algorithm.

This enumeration specifies valid values for the SslStream.KeyExchangeAlgorithm property.

The following example displays the properties of an SslStream.


static void AuthenticateCallback(IAsyncResult ar)
{
    SslStream stream = (SslStream) ar.AsyncState;
    try 
    {
        stream.EndAuthenticateAsClient(ar);
        Console.WriteLine("Authentication succeeded.");
        Console.WriteLine("Cipher: {0} strength {1}", stream.CipherAlgorithm, 
            stream.CipherStrength);
        Console.WriteLine("Hash: {0} strength {1}", 
            stream.HashAlgorithm, stream.HashStrength);
        Console.WriteLine("Key exchange: {0} strength {1}", 
            stream.KeyExchangeAlgorithm, stream.KeyExchangeStrength);
        Console.WriteLine("Protocol: {0}", stream.SslProtocol);
        // Encode a test message into a byte array.
        // Signal the end of the message using the "<EOF>".
        byte[] message = Encoding.UTF8.GetBytes("Hello from the client.<EOF>");
        // Asynchronously send a message to the server.
        stream.BeginWrite(message, 0, message.Length, 
            new AsyncCallback(WriteCallback),
            stream);
    }
    catch (Exception authenticationException)
    {
        e = authenticationException;
        complete = true;
        return;
    }
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ