SslStream Konstruktoren

Definition

Initialisiert eine neue Instanz der SslStream-Klasse.

Überlädt

SslStream(Stream)

Initialisiert eine neue Instanz der SslStream-Klasse mit dem angegebenen Stream.

SslStream(Stream, Boolean)

Verwendet den angegebenen SslStream und das Schlussverhalten des Streams zum Initialisieren einer neuen Instanz der Stream-Klasse.

SslStream(Stream, Boolean, RemoteCertificateValidationCallback)

Verwendet den angegebenen SslStream, das angegebene Schlussverhalten des Streams und den angegebenen Zertifikatsvalidierungsdelegaten zum Initialisieren einer neuen Instanz der Stream-Klasse.

SslStream(Stream, Boolean, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback)

Verwendet den angegebenen SslStream, das Schlussverhalten des Streams, den Zertifikatsvalidierungsdelegaten und den Zertifikatsauswahldelegaten zum Initialisieren einer neuen Instanz der Stream-Klasse.

SslStream(Stream, Boolean, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback, EncryptionPolicy)

Initialisiert eine neue Instanz der SslStream-Klasse mit dem angegebenen Stream.

Hinweise

Verwenden Sie den Konstruktor SslStream, um zu verhindern, dass der von Ihnen bereitgestellte Stream durch SslStream geschlossen wird.

SslStream(Stream)

Initialisiert eine neue Instanz der SslStream-Klasse mit dem angegebenen Stream.

public:
 SslStream(System::IO::Stream ^ innerStream);
public SslStream (System.IO.Stream innerStream);
new System.Net.Security.SslStream : System.IO.Stream -> System.Net.Security.SslStream
Public Sub New (innerStream As Stream)

Parameter

innerStream
Stream

Ein Stream-Objekt, das von SslStream zum Senden und Empfangen von Daten verwendet wird.

Ausnahmen

innerStream kann nicht gelesen werden.

- oder - innerStream kann nicht geschrieben werden.

innerStream ist null.

- oder - innerStream ist gleich Null.

Hinweise

Wenn ein Wert in der Konfigurationsdatei für Verschlüsselungsrichtlinie nicht angegeben wird, werden die Standardeinstellungen EncryptionPolicy.RequireEncryption für die SslStream Instanz festgelegt, die EncryptionPolicy erstellt wird.

Die Verwendung der Null-Verschlüsselung ist erforderlich, wenn die Verschlüsselungsrichtlinie auf EncryptionPolicy.NoEncryption" festgelegt ist.

Gilt für:

SslStream(Stream, Boolean)

Verwendet den angegebenen SslStream und das Schlussverhalten des Streams zum Initialisieren einer neuen Instanz der Stream-Klasse.

public:
 SslStream(System::IO::Stream ^ innerStream, bool leaveInnerStreamOpen);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen);
new System.Net.Security.SslStream : System.IO.Stream * bool -> System.Net.Security.SslStream
Public Sub New (innerStream As Stream, leaveInnerStreamOpen As Boolean)

Parameter

innerStream
Stream

Ein Stream-Objekt, das von SslStream zum Senden und Empfangen von Daten verwendet wird.

leaveInnerStreamOpen
Boolean

Ein boolescher Wert, der das Schließverhalten des Stream-Objekts angibt, das vom SslStream zum Senden und Empfangen von Daten verwendet wird. Dieser Parameter gibt an, ob der innere Datenstrom geöffnet gelassen wird.

Ausnahmen

innerStream kann nicht gelesen werden.

- oder - innerStream kann nicht geschrieben werden.

innerStream ist null.

- oder - innerStream ist gleich Null.

Beispiele

Im folgenden Codebeispiel wird der Aufruf dieses Konstruktors veranschaulicht.

static void ProcessClient( TcpClient^ client )
{
   
   // A client has connected. Create the 
   // SslStream using the client's network stream.
   SslStream^ sslStream = gcnew SslStream( client->GetStream(),false );
   
   // Authenticate the server but don't require the client to authenticate.
   try
   {
      sslStream->AuthenticateAsServer( serverCertificate, false, true );
      // false == no client cert required; true == check cert revocation.
      
      // Display the properties and settings for the authenticated stream.
      DisplaySecurityLevel( sslStream );
      DisplaySecurityServices( sslStream );
      DisplayCertificateInformation( sslStream );
      DisplayStreamProperties( sslStream );
      
      // Set timeouts for the read and write to 5 seconds.
      sslStream->ReadTimeout = 5000;
      sslStream->WriteTimeout = 5000;
      
      // Read a message from the client.   
      Console::WriteLine( L"Waiting for client message..." );
      String^ messageData = ReadMessage( sslStream );
      Console::WriteLine( L"Received: {0}", messageData );
      
      // Write a message to the client.
      array<Byte>^message = Encoding::UTF8->GetBytes( L"Hello from the server.<EOF>" );
      Console::WriteLine( L"Sending hello message." );
      sslStream->Write( message );
   }
   catch ( AuthenticationException^ e ) 
   {
      Console::WriteLine( L"Exception: {0}", e->Message );
      if ( e->InnerException != nullptr )
      {
         Console::WriteLine( L"Inner exception: {0}", e->InnerException->Message );
      }
      Console::WriteLine( L"Authentication failed - closing the connection." );
      sslStream->Close();
      client->Close();
      return;
   }
   finally
   {
      
      // The client stream will be closed with the sslStream
      // because we specified this behavior when creating
      // the sslStream.
      sslStream->Close();
      client->Close();
   }

}
static void ProcessClient (TcpClient client)
{
    // A client has connected. Create the
    // SslStream using the client's network stream.
    SslStream sslStream = new SslStream(
        client.GetStream(), false);
    // Authenticate the server but don't require the client to authenticate.
    try
    {
        sslStream.AuthenticateAsServer(serverCertificate, clientCertificateRequired: false, checkCertificateRevocation: true);

        // Display the properties and settings for the authenticated stream.
        DisplaySecurityLevel(sslStream);
        DisplaySecurityServices(sslStream);
        DisplayCertificateInformation(sslStream);
        DisplayStreamProperties(sslStream);

        // Set timeouts for the read and write to 5 seconds.
        sslStream.ReadTimeout = 5000;
        sslStream.WriteTimeout = 5000;
        // Read a message from the client.
        Console.WriteLine("Waiting for client message...");
        string messageData = ReadMessage(sslStream);
        Console.WriteLine("Received: {0}", messageData);

        // Write a message to the client.
        byte[] message = Encoding.UTF8.GetBytes("Hello from the server.<EOF>");
        Console.WriteLine("Sending hello message.");
        sslStream.Write(message);
    }
    catch (AuthenticationException e)
    {
        Console.WriteLine("Exception: {0}", e.Message);
        if (e.InnerException != null)
        {
            Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
        }
        Console.WriteLine ("Authentication failed - closing the connection.");
        sslStream.Close();
        client.Close();
        return;
    }
    finally
    {
        // The client stream will be closed with the sslStream
        // because we specified this behavior when creating
        // the sslStream.
        sslStream.Close();
        client.Close();
    }
}
Private Shared Sub ProcessClient(client As TcpClient)
    ' A client has connected. Create the 
    ' SslStream using the client's network stream.
    Dim sslStream = New SslStream(client.GetStream(), False)

    Try

        sslStream.AuthenticateAsServer(serverCertificate, clientCertificateRequired:=False, checkCertificateRevocation:=True)
        ' Display the properties And settings for the authenticated stream.
        DisplaySecurityLevel(sslStream)
        DisplaySecurityServices(sslStream)
        DisplayCertificateInformation(sslStream)
        DisplayStreamProperties(sslStream)

        ' Set timeouts for the read and write to 5 seconds.
        sslStream.ReadTimeout = 5000
        sslStream.WriteTimeout = 5000

        ' Read a message from the client.   
        Console.WriteLine("Waiting for client message...")
        Dim messageData As String = ReadMessage(sslStream)
        Console.WriteLine("Received: {0}", messageData)

        ' Write a message to the client.
        Dim message As Byte() = Encoding.UTF8.GetBytes("Hello from the server.<EOF>")
        Console.WriteLine("Sending hello message.")
        sslStream.Write(message)
    Catch e As AuthenticationException
        Console.WriteLine("Exception: {0}", e.Message)

        If e.InnerException IsNot Nothing Then
            Console.WriteLine("Inner exception: {0}", e.InnerException.Message)
        End If

        Console.WriteLine("Authentication failed - closing the connection.")
        sslStream.Close()
        client.Close()
        Return
    Finally
        ' The client stream will be closed with the sslStream
        ' because we specified this behavior when creating
        ' the sslStream.
        sslStream.Close()
        client.Close()
    End Try
End Sub

Hinweise

Wenn Sie den Parameter angebentrue, hat das innerStream Schließen SslStream des leaveStreamOpen Datenstroms keine Auswirkung; Sie müssen innerStream diese explizit schließen, wenn Sie ihn nicht mehr benötigen.

Wenn ein Wert in der Konfigurationsdatei für Verschlüsselungsrichtlinie nicht angegeben wird, werden die Standardeinstellungen EncryptionPolicy.RequireEncryption für die SslStream Instanz festgelegt, die EncryptionPolicy erstellt wird.

Die Verwendung der Null-Verschlüsselung ist erforderlich, wenn die Verschlüsselungsrichtlinie auf EncryptionPolicy.NoEncryption" festgelegt ist.

Gilt für:

SslStream(Stream, Boolean, RemoteCertificateValidationCallback)

Verwendet den angegebenen SslStream, das angegebene Schlussverhalten des Streams und den angegebenen Zertifikatsvalidierungsdelegaten zum Initialisieren einer neuen Instanz der Stream-Klasse.

public:
 SslStream(System::IO::Stream ^ innerStream, bool leaveInnerStreamOpen, System::Net::Security::RemoteCertificateValidationCallback ^ userCertificateValidationCallback);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback? userCertificateValidationCallback);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback userCertificateValidationCallback);
new System.Net.Security.SslStream : System.IO.Stream * bool * System.Net.Security.RemoteCertificateValidationCallback -> System.Net.Security.SslStream
Public Sub New (innerStream As Stream, leaveInnerStreamOpen As Boolean, userCertificateValidationCallback As RemoteCertificateValidationCallback)

Parameter

innerStream
Stream

Ein Stream-Objekt, das von SslStream zum Senden und Empfangen von Daten verwendet wird.

leaveInnerStreamOpen
Boolean

Ein boolescher Wert, der das Schließverhalten des Stream-Objekts angibt, das vom SslStream zum Senden und Empfangen von Daten verwendet wird. Dieser Parameter gibt an, ob der innere Datenstrom geöffnet gelassen wird.

userCertificateValidationCallback
RemoteCertificateValidationCallback

Ein für die Validierung des von der Remoteseite angegebenen Zertifikats verantwortlicher RemoteCertificateValidationCallback-Delegat.

Ausnahmen

innerStream kann nicht gelesen werden.

- oder - innerStream kann nicht geschrieben werden.

innerStream ist null.

- oder - innerStream ist gleich Null.

Beispiele

Im folgenden Codebeispiel wird ein SslStream Clientteil der Authentifizierung erstellt und initiiert.

// Create a TCP/IP client socket.
// machineName is the host running the server application.
TcpClient^ client = gcnew TcpClient(machineName, 8080);
Console::WriteLine("Client connected.");
  
// Create an SSL stream that will close 
// the client's stream.
SslStream^ sslStream = gcnew SslStream(
    client->GetStream(), false,
    gcnew RemoteCertificateValidationCallback(ValidateServerCertificate),
    nullptr);
  
// The server name must match the name
// on the server certificate.
try
{
    sslStream->AuthenticateAsClient(serverName);
}
catch (AuthenticationException^ ex) 
{
    Console::WriteLine("Exception: {0}", ex->Message);
    if (ex->InnerException != nullptr)
    {
        Console::WriteLine("Inner exception: {0}", 
            ex->InnerException->Message);
    }

    Console::WriteLine("Authentication failed - "
        "closing the connection.");
    sslStream->Close();
    client->Close();
    return;
}
// Create a TCP/IP client socket.
// machineName is the host running the server application.
TcpClient client = new TcpClient(machineName,443);
Console.WriteLine("Client connected.");
// Create an SSL stream that will close the client's stream.
SslStream sslStream = new SslStream(
    client.GetStream(),
    false,
    new RemoteCertificateValidationCallback (ValidateServerCertificate),
    null
    );
// The server name must match the name on the server certificate.
try
{
    sslStream.AuthenticateAsClient(serverName);
}
catch (AuthenticationException e)
{
    Console.WriteLine("Exception: {0}", e.Message);
    if (e.InnerException != null)
    {
        Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
    }
    Console.WriteLine ("Authentication failed - closing the connection.");
    client.Close();
    return;
}
' Create a TCP/IP client socket.
' machineName is the host running the server application.
Dim client = New TcpClient(machineName, 443)
Console.WriteLine("Client connected.")

' Create an SSL stream that will close the client's stream.
Dim sslStream = New SslStream(
    client.GetStream(), False, 
    New RemoteCertificateValidationCallback(AddressOf ValidateServerCertificate), Nothing)

' The server name must match the name on the server certificate.
Try
    sslStream.AuthenticateAsClient(serverName)
Catch e As AuthenticationException
    Console.WriteLine("Exception: {0}", e.Message)

    If e.InnerException IsNot Nothing Then
        Console.WriteLine("Inner exception: {0}", e.InnerException.Message)
    End If

    Console.WriteLine("Authentication failed - closing the connection.")
    client.Close()
    Return
End Try

Hinweise

Wenn Sie den Parameter angebentrue, hat das innerStream Schließen SslStream des leaveStreamOpen Datenstroms keine Auswirkung; Sie müssen innerStream diese explizit schließen, wenn Sie ihn nicht mehr benötigen.

Das Argument des userCertificateValidationCallback Stellvertretungs certificateErrors enthält alle Windows Fehlercodes, die vom Kanal Security Support Provider Interface (SSPI) zurückgegeben werden. Der Rückgabewert der vom Stellvertretung aufgerufenen Methode userCertificateValidationCallback bestimmt, ob die Authentifizierung erfolgreich ist.

Das Sicherheitsprotokoll und kryptografische Algorithmen werden bereits ausgewählt, wenn die Methode des userCertificateValidationCallback Stellvertretungs aufgerufen wird. Sie können die Methode verwenden, um zu bestimmen, ob die ausgewählten kryptografischen Algorithmen und Stärken für Ihre Anwendung ausreichend sind. Wenn nicht, sollte die Methode zurückgegeben false werden, um zu verhindern, dass die SslStream Erstellung erfolgt.

Wenn ein Wert in der Konfigurationsdatei für Verschlüsselungsrichtlinie nicht angegeben wird, werden die Standardeinstellungen EncryptionPolicy.RequireEncryption für die SslStream Instanz festgelegt, die EncryptionPolicy erstellt wird.

Die Verwendung der Null-Verschlüsselung ist erforderlich, wenn die Verschlüsselungsrichtlinie auf EncryptionPolicy.NoEncryption" festgelegt ist.

Hinweis

Das Framework cachet SSL-Sitzungen während der Erstellung und versucht, eine zwischengespeicherte Sitzung für eine neue Anforderung wiederzuverwenden. Wenn Sie versuchen, eine SSL-Sitzung wiederzuverwenden, verwendet das Framework das erste Element ClientCertificates (falls vorhanden) oder versucht, eine anonyme Sitzung wiederzuverwenden, wenn ClientCertificates leer ist.

Hinweis

Clientzertifikate werden im SSL Version 2-Protokoll nicht unterstützt.

Gilt für:

SslStream(Stream, Boolean, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback)

Verwendet den angegebenen SslStream, das Schlussverhalten des Streams, den Zertifikatsvalidierungsdelegaten und den Zertifikatsauswahldelegaten zum Initialisieren einer neuen Instanz der Stream-Klasse.

public:
 SslStream(System::IO::Stream ^ innerStream, bool leaveInnerStreamOpen, System::Net::Security::RemoteCertificateValidationCallback ^ userCertificateValidationCallback, System::Net::Security::LocalCertificateSelectionCallback ^ userCertificateSelectionCallback);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback? userCertificateValidationCallback, System.Net.Security.LocalCertificateSelectionCallback? userCertificateSelectionCallback);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback userCertificateValidationCallback, System.Net.Security.LocalCertificateSelectionCallback userCertificateSelectionCallback);
new System.Net.Security.SslStream : System.IO.Stream * bool * System.Net.Security.RemoteCertificateValidationCallback * System.Net.Security.LocalCertificateSelectionCallback -> System.Net.Security.SslStream
Public Sub New (innerStream As Stream, leaveInnerStreamOpen As Boolean, userCertificateValidationCallback As RemoteCertificateValidationCallback, userCertificateSelectionCallback As LocalCertificateSelectionCallback)

Parameter

innerStream
Stream

Ein Stream-Objekt, das von SslStream zum Senden und Empfangen von Daten verwendet wird.

leaveInnerStreamOpen
Boolean

Ein boolescher Wert, der das Schließverhalten des Stream-Objekts angibt, das vom SslStream zum Senden und Empfangen von Daten verwendet wird. Dieser Parameter gibt an, ob der innere Datenstrom geöffnet gelassen wird.

userCertificateValidationCallback
RemoteCertificateValidationCallback

Ein für die Validierung des von der Remoteseite angegebenen Zertifikats verantwortlicher RemoteCertificateValidationCallback-Delegat.

userCertificateSelectionCallback
LocalCertificateSelectionCallback

Ein für die Auswahl des Zertifikats zur Authentifizierung verantwortlicher LocalCertificateSelectionCallback-Delegat.

Ausnahmen

innerStream kann nicht gelesen werden.

- oder - innerStream kann nicht geschrieben werden.

innerStream ist null.

- oder - innerStream ist gleich Null.

Beispiele

Im folgenden Codebeispiel wird der Aufruf dieses Konstruktors veranschaulicht. In diesem Beispiel wird ein größeres Beispiel für die SslStream Klasse bereitgestellt.

// Server name must match the host name and the name on the host's certificate. 
serverName = args[ 1 ];

// Create a TCP/IP client socket.
TcpClient^ client = gcnew TcpClient( serverName,80 );
Console::WriteLine( L"Client connected." );

// Create an SSL stream that will close the client's stream.
SslStream^ sslStream = gcnew SslStream( 
    client->GetStream(),
    false,
    gcnew RemoteCertificateValidationCallback( ValidateServerCertificate ),
    gcnew LocalCertificateSelectionCallback( SelectLocalCertificate ) );
// Server name must match the host name and the name on the host's certificate.
serverName = args[0];
// Create a TCP/IP client socket.
TcpClient client = new TcpClient(serverName,80);
Console.WriteLine("Client connected.");
// Create an SSL stream that will close the client's stream.
SslStream sslStream = new SslStream(
    client.GetStream(),
    false,
    new RemoteCertificateValidationCallback (ValidateServerCertificate),
    new LocalCertificateSelectionCallback(SelectLocalCertificate)
    );
' Server name must match the host name and the name on the host's certificate. 
serverName = args(0)
' Create a TCP/IP client socket.
Dim client As New TcpClient(serverName, 80)
Console.WriteLine("Client connected.")
' Create an SSL stream that will close the client's stream.
Dim sslStream As New SslStream(
    client.GetStream(), False, 
    New RemoteCertificateValidationCallback(AddressOf ValidateServerCertificate), 
    New LocalCertificateSelectionCallback(AddressOf SelectLocalCertificate))

Hinweise

Wenn Sie den Parameter angebentrue, hat das innerStream Schließen SslStream des leaveStreamOpen Datenstroms keine Auswirkung; Sie müssen innerStream diese explizit schließen, wenn Sie ihn nicht mehr benötigen.

Das Argument des userCertificateValidationCallback Stellvertretungs certificateErrors enthält alle Windows Fehlercodes, die vom Kanal Security Support Provider Interface (SSPI) zurückgegeben werden. Der Rückgabewert der vom Stellvertretung aufgerufenen Methode userCertificateValidationCallback bestimmt, ob die Authentifizierung erfolgreich ist.

Das Sicherheitsprotokoll und kryptografische Algorithmen werden bereits ausgewählt, wenn die Methode des userCertificateValidationCallback Stellvertretungs aufgerufen wird. Sie können die Methode verwenden, um zu bestimmen, ob die ausgewählten kryptografischen Algorithmen und Stärken für Ihre Anwendung ausreichend sind. Wenn nicht, sollte die Methode zurückgegeben false werden, um zu verhindern, dass die SslStream Erstellung erfolgt.

Der userCertificateSelectionCallback Stellvertretung ist nützlich, wenn Ihre Anwendung mehrere Zertifikate aufweist und ein Zertifikat dynamisch auswählen muss. Zertifikate im "MY"-Speicher werden an die vom Stellvertretung aufgerufene Methode übergeben.

Wenn ein Wert in der Konfigurationsdatei für Verschlüsselungsrichtlinie nicht angegeben wird, werden die Standardeinstellungen EncryptionPolicy.RequireEncryption für die SslStream Instanz festgelegt, die EncryptionPolicy erstellt wird.

Die Verwendung der Null-Verschlüsselung ist erforderlich, wenn die Verschlüsselungsrichtlinie auf EncryptionPolicy.NoEncryption" festgelegt ist.

Hinweis

Das Framework cachet SSL-Sitzungen während der Erstellung und versucht, eine zwischengespeicherte Sitzung für eine neue Anforderung wiederzuverwenden. Beim Versuch, eine SSL-Sitzung wiederzuverwenden, verwendet das Framework das erste Element von P:System.Net.HttpWebRequest.ClientCertificates (falls vorhanden) oder versucht, eine anonyme Sitzung wiederzuverwenden, wenn P:System.Net.HttpWebRequest.ClientCertificates leer ist.

Gilt für:

SslStream(Stream, Boolean, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback, EncryptionPolicy)

Initialisiert eine neue Instanz der SslStream-Klasse mit dem angegebenen Stream.

public:
 SslStream(System::IO::Stream ^ innerStream, bool leaveInnerStreamOpen, System::Net::Security::RemoteCertificateValidationCallback ^ userCertificateValidationCallback, System::Net::Security::LocalCertificateSelectionCallback ^ userCertificateSelectionCallback, System::Net::Security::EncryptionPolicy encryptionPolicy);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback? userCertificateValidationCallback, System.Net.Security.LocalCertificateSelectionCallback? userCertificateSelectionCallback, System.Net.Security.EncryptionPolicy encryptionPolicy);
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback userCertificateValidationCallback, System.Net.Security.LocalCertificateSelectionCallback userCertificateSelectionCallback, System.Net.Security.EncryptionPolicy encryptionPolicy);
[System.MonoLimitation("encryptionPolicy is ignored")]
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, System.Net.Security.RemoteCertificateValidationCallback userCertificateValidationCallback, System.Net.Security.LocalCertificateSelectionCallback userCertificateSelectionCallback, System.Net.Security.EncryptionPolicy encryptionPolicy);
new System.Net.Security.SslStream : System.IO.Stream * bool * System.Net.Security.RemoteCertificateValidationCallback * System.Net.Security.LocalCertificateSelectionCallback * System.Net.Security.EncryptionPolicy -> System.Net.Security.SslStream
[<System.MonoLimitation("encryptionPolicy is ignored")>]
new System.Net.Security.SslStream : System.IO.Stream * bool * System.Net.Security.RemoteCertificateValidationCallback * System.Net.Security.LocalCertificateSelectionCallback * System.Net.Security.EncryptionPolicy -> System.Net.Security.SslStream
Public Sub New (innerStream As Stream, leaveInnerStreamOpen As Boolean, userCertificateValidationCallback As RemoteCertificateValidationCallback, userCertificateSelectionCallback As LocalCertificateSelectionCallback, encryptionPolicy As EncryptionPolicy)

Parameter

innerStream
Stream

Ein Stream-Objekt, das von SslStream zum Senden und Empfangen von Daten verwendet wird.

leaveInnerStreamOpen
Boolean

Ein boolescher Wert, der das Schließverhalten des Stream-Objekts angibt, das vom SslStream zum Senden und Empfangen von Daten verwendet wird. Dieser Parameter gibt an, ob der innere Datenstrom geöffnet gelassen wird.

userCertificateValidationCallback
RemoteCertificateValidationCallback

Ein für die Validierung des von der Remoteseite angegebenen Zertifikats verantwortlicher RemoteCertificateValidationCallback-Delegat.

userCertificateSelectionCallback
LocalCertificateSelectionCallback

Ein für die Auswahl des Zertifikats zur Authentifizierung verantwortlicher LocalCertificateSelectionCallback-Delegat.

encryptionPolicy
EncryptionPolicy

Der zu verwendende EncryptionPolicy.

Attribute
MonoLimitationAttribute

Ausnahmen

innerStream kann nicht gelesen werden.

- oder - innerStream kann nicht geschrieben werden.

- oder - encryptionPolicy ist nicht gültig.

innerStream ist null.

- oder - innerStream ist gleich Null.

Hinweise

Die Verwendung der Null-Verschlüsselung ist erforderlich, wenn der encryptionPolicy Parameter auf EncryptionPolicy.NoEncryption" festgelegt ist.

Gilt für: