Export (0) Print
Expand All

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 nameDescription
DiffieHellmanThe Diffie Hellman ephemeral key exchange algorithm.
NoneNo key exchange algorithm is used.
RsaKeyXThe RSA public-key exchange algorithm.
RsaSignThe RSA public-key signature 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;
        Console.WriteLine("Authentication succeeded.");
        Console.WriteLine("Cipher: {0} strength {1}", stream.CipherAlgorithm, 
        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),
    catch (Exception authenticationException)
        e = authenticationException;
        complete = true;

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft