SslStream.AuthenticateAsClientAsync Method (String, X509CertificateCollection, SslProtocols, Boolean)

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Called by clients to authenticate the server and optionally the client in a client-server connection as an asynchronous operation. The authentication process uses the specified certificate collection and SSL protocol.

Namespace:   System.Net.Security
Assembly:  System (in System.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public virtual Task AuthenticateAsClientAsync(
	string targetHost,
	X509CertificateCollection clientCertificates,
	SslProtocols enabledSslProtocols,
	bool checkCertificateRevocation
)

Parameters

targetHost
Type: System.String

The name of the server that will share this SslStream.

clientCertificates
Type: System.Security.Cryptography.X509Certificates.X509CertificateCollection

The X509CertificateCollection that contains client certificates.

enabledSslProtocols
Type: System.Security.Authentication.SslProtocols

The SslProtocols value that represents the protocol used for authentication.

checkCertificateRevocation
Type: System.Boolean

A Boolean value that specifies whether the certificate revocation list is checked during authentication.

Return Value

Type: System.Threading.Tasks.Task

Returns Task

The task object representing the asynchronous operation.

When authentication succeeds, you must check the IsEncrypted and IsSigned properties to determine what security services are used by the SslStream. Check the IsMutuallyAuthenticated property to determine whether mutual authentication occurred.

If the authentication fails, you receive a AuthenticationException, and this SslStream is no longer useable. You should close this object and remove all references to it so that it can be collected by the garbage collector.

System_CAPS_noteNote

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

.NET Framework
Available since 4.5
Return to top
Show: