CipherAlgorithmType Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Defines the possible cipher algorithms for the SslStream class.
public enum class CipherAlgorithmType
public enum CipherAlgorithmType
type CipherAlgorithmType =
Public Enum CipherAlgorithmType
- Inheritance
Fields
None | 0 | No encryption algorithm is used. |
Null | 24576 | No encryption is used with a Null cipher algorithm. |
Des | 26113 | The Data Encryption Standard (DES) algorithm. |
Rc2 | 26114 | Rivest's Code 2 (RC2) algorithm. |
TripleDes | 26115 | The Triple Data Encryption Standard (3DES) algorithm. |
Aes128 | 26126 | The Advanced Encryption Standard (AES) algorithm with a 128 bit key. |
Aes192 | 26127 | The Advanced Encryption Standard (AES) algorithm with a 192 bit key. |
Aes256 | 26128 | The Advanced Encryption Standard (AES) algorithm with a 256 bit key. |
Aes | 26129 | The Advanced Encryption Standard (AES) algorithm. |
Rc4 | 26625 | Rivest's Code 4 (RC4) algorithm. |
Examples
The following example displays the properties of an SslStream.
static void AuthenticateCallback( IAsyncResult^ ar )
{
SslStream^ stream = dynamic_cast<SslStream^>(ar->AsyncState);
try
{
stream->EndAuthenticateAsClient( ar );
Console::WriteLine( L"Authentication succeeded." );
Console::WriteLine( L"Cipher: {0} strength {1}", stream->CipherAlgorithm, stream->CipherStrength );
Console::WriteLine( L"Hash: {0} strength {1}", stream->HashAlgorithm, stream->HashStrength );
Console::WriteLine( L"Key exchange: {0} strength {1}", stream->KeyExchangeAlgorithm, stream->KeyExchangeStrength );
Console::WriteLine( L"Protocol: {0}", stream->SslProtocol );
// Encode a test message into a byte array.
// Signal the end of the message using the "<EOF>".
array<Byte>^message = Encoding::UTF8->GetBytes( L"Hello from the client.<EOF>" );
// Asynchronously send a message to the server.
stream->BeginWrite( message, 0, message->Length, gcnew AsyncCallback( WriteCallback ), stream );
}
catch ( Exception^ authenticationException )
{
e = authenticationException;
complete = true;
return;
}
}
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;
}
}
Remarks
This enumeration specifies valid values for the SslStream.CipherAlgorithm property.