Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

SslStream Constructor (Stream, Boolean, RemoteCertificateValidationCallback)

Initializes a new instance of the SslStream class using the specified Stream, stream closure behavior and certificate validation delegate.

Namespace:  System.Net.Security
Assembly:  System (in System.dll)
'Declaration
Public Sub New ( _
	innerStream As Stream, _
	leaveInnerStreamOpen As Boolean, _
	userCertificateValidationCallback As RemoteCertificateValidationCallback _
)

Parameters

innerStream
Type: System.IO.Stream

A Stream object used by the SslStream for sending and receiving data.

leaveInnerStreamOpen
Type: System.Boolean

A Boolean value that indicates the closure behavior of the Stream object used by the SslStream for sending and receiving data. This parameter indicates if the inner stream is left open.

userCertificateValidationCallback
Type: System.Net.Security.RemoteCertificateValidationCallback

A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party.

ExceptionCondition
ArgumentException

innerStream is not readable.

-or-

innerStream is not writable.

ArgumentNullException

innerStream is Nothing.

-or-

innerStream is equal to Null.

When you specify true for the leaveStreamOpen parameter, closing the SslStream has no effect on the innerStream stream; you must explicitly close innerStream when you no longer need it.

The userCertificateValidationCallback delegate's certificateErrors argument contains any Windows error codes returned by the channel Security Support Provider Interface (SSPI). The return value of the method invoked by the userCertificateValidationCallback delegate determines whether authentication succeeds.

The security protocol and cryptographic algorithms are already selected when the userCertificateValidationCallback delegate's method is invoked. You can use the method to determine whether the selected cryptographic algorithms and strengths are sufficient for your application. If not, the method should return false to prevent the SslStream from being created.

If a value is not specified in the configuration file for encryptionpolicy, the EncryptionPolicy defaults to EncryptionPolicy.RequireEncryption for the SslStream instance that is constructed.

The use of the Null cipher is required when the encryption policy is set to EncryptionPolicy.NoEncryption.

NoteNote

The Framework caches SSL sessions as they are created and attempts to reuse a cached session for a new request, if possible. When attempting to reuse an SSL session, the Framework uses the first element of ClientCertificates (if there is one), or tries to reuse an anonymous sessions if ClientCertificates is empty.

NoteNote

Client certificates are not supported in the SSL version 2 protocol.

Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition Platform Note: The Framework attempts to reuse an SSL session only if a client certificate is not required.

The following code example creates an SslStream and initiates the client portion of the authentication.

No code example is currently available or this language may not be supported.

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.