ExchangeAlgorithmType Enumeration
Collapse the table of content
Expand the table of content

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
DiffieHellman

The Diffie Hellman ephemeral key exchange algorithm.

None

No key exchange algorithm is used.

RsaKeyX

The RSA public-key exchange algorithm.

RsaSign

The 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;
    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;
    }
}

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Return to top
Show:
© 2016 Microsoft