SslStream.BeginAuthenticateAsClient 方法

定义

开始一个操作,以对客户端-服务器连接中的客户端进行身份验证。

重载

BeginAuthenticateAsClient(String, AsyncCallback, Object)

客户端调用此方法,以便开始一个异步操作,对服务器及客户端(可选)进行身份验证。

BeginAuthenticateAsClient(String, X509CertificateCollection, Boolean, AsyncCallback, Object)

由客户端调用,以使用指定的证书和系统默认安全协议开始对服务器和客户端(可选)异步进行身份验证。

BeginAuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean, AsyncCallback, Object)

客户端调用此方法,以便开始一个异步操作,使用指定的证书和安全协议对服务器及客户端(可选)进行身份验证。

注解

身份验证正在进行时,此方法的重载不会阻止。 若要在等待身份验证完成时阻止,请使用 方法之 AuthenticateAsClient 一。

BeginAuthenticateAsClient(String, AsyncCallback, Object)

Source:
SslStream.cs
Source:
SslStream.cs
Source:
SslStream.cs

客户端调用此方法,以便开始一个异步操作,对服务器及客户端(可选)进行身份验证。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::String ^ targetHost, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (targetHost As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

targetHost
String

共享此 SslStream 的服务器名称。

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

targetHostnull

身份验证失败,并使此对象处于不可用的状态。

已进行了身份验证。

之前已尝试使用此 SslStream 进行了服务器身份验证。

身份验证已在进行中。

此对象已关闭。

注解

从 .NET Framework 4.7 开始,此方法使用 None 进行身份验证,这允许操作系统选择要使用的最佳协议,并将其用于阻止不安全的协议。 在 .NET Framework 4.6(以及安装了最新安全修补程序的 .NET Framework 4.5)中,允许的 TLS/SSL 协议版本为 1.2、1.1 和 1.0(除非通过编辑 Windows 注册表禁用强加密)。 身份验证中不使用客户端证书。 身份验证期间不会检查证书吊销列表。

targetHost 指定的值必须与服务器证书上的名称匹配。

异步身份验证操作必须通过调用 EndAuthenticateAsClient 方法来完成。 通常,委托会调用 asyncCallback 方法。

此方法不会在操作完成时阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsClient 一。

有关使用异步编程模型的详细信息,请参阅 异步调用同步方法

如果收到 , AuthenticationException则不再 SslStream 可用。 应关闭此对象并删除对其的所有引用,以便垃圾回收器可以回收它。

适用于

BeginAuthenticateAsClient(String, X509CertificateCollection, Boolean, AsyncCallback, Object)

Source:
SslStream.cs
Source:
SslStream.cs
Source:
SslStream.cs

由客户端调用,以使用指定的证书和系统默认安全协议开始对服务器和客户端(可选)异步进行身份验证。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::String ^ targetHost, System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ clientCertificates, bool checkCertificateRevocation, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates, bool checkCertificateRevocation, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * bool * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * bool * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (targetHost As String, clientCertificates As X509CertificateCollection, checkCertificateRevocation As Boolean, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

targetHost
String

共享此 SslStream 的服务器名称。

clientCertificates
X509CertificateCollection

X509CertificateCollection 包含客户端证书。

checkCertificateRevocation
Boolean

一个 Boolean 值,该值指定身份验证期间是否检查证书吊销列表。

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

targetHostnull

身份验证失败,并使此对象处于不可用的状态。

已进行了身份验证。

之前已尝试使用此 SslStream 进行了服务器身份验证。

身份验证已在进行中。

此对象已关闭。

注解

从 .NET Framework 4.7 开始,此方法使用 None 进行身份验证,这允许操作系统选择要使用的最佳协议,并将其用于阻止不安全的协议。 在 .NET Framework 4.6(以及安装了最新安全修补程序的 .NET Framework 4.5)中,允许的 TLS/SSL 协议版本为 1.2、1.1 和 1.0(除非通过编辑 Windows 注册表禁用强加密)。

targetHost 指定的值必须与服务器证书上的名称匹配。

异步身份验证操作必须通过调用 EndAuthenticateAsClient 方法来完成。 通常,委托会调用 asyncCallback 方法。

此方法不会在操作完成时阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsClient 一。

有关使用异步编程模型的详细信息,请参阅 异步调用同步方法

如果收到 , AuthenticationException则不再 SslStream 可用。 应关闭此对象并删除对其的所有引用,以便垃圾回收器可以回收它。

注意

SSL 版本 2 协议不支持客户端证书。

适用于

BeginAuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean, AsyncCallback, Object)

Source:
SslStream.cs
Source:
SslStream.cs
Source:
SslStream.cs

客户端调用此方法,以便开始一个异步操作,使用指定的证书和安全协议对服务器及客户端(可选)进行身份验证。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::String ^ targetHost, System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ clientCertificates, System::Security::Authentication::SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * System.Security.Authentication.SslProtocols * bool * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * System.Security.Authentication.SslProtocols * bool * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (targetHost As String, clientCertificates As X509CertificateCollection, enabledSslProtocols As SslProtocols, checkCertificateRevocation As Boolean, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

targetHost
String

共享此 SslStream 的服务器名称。

clientCertificates
X509CertificateCollection

X509CertificateCollection 包含客户端证书。

enabledSslProtocols
SslProtocols

SslProtocols 值,该值表示进行身份验证所使用的协议。

checkCertificateRevocation
Boolean

一个 Boolean 值,该值指定身份验证期间是否检查证书吊销列表。

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

targetHostnull

enabledSslProtocols 不是有效的 SslProtocols 值。

身份验证失败,并使此对象处于不可用的状态。

已进行了身份验证。

之前已尝试使用此 SslStream 进行了服务器身份验证。

身份验证已在进行中。

此对象已关闭。

注解

从 .NET Framework 4.7 开始,此方法使用 None 进行身份验证,这允许操作系统选择要使用的最佳协议,并将其用于阻止不安全的协议。 在 .NET Framework 4.6(以及安装了最新安全修补程序的 .NET Framework 4.5)中,允许的 TLS/SSL 协议版本为 1.2、1.1 和 1.0(除非通过编辑 Windows 注册表禁用强加密)。

targetHost 指定的值必须与服务器证书上的名称匹配。

异步身份验证操作必须通过调用 EndAuthenticateAsClient 方法来完成。 通常,委托会调用 asyncCallback 方法。

此方法不会在操作完成时阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsClient 一。

有关使用异步编程模型的详细信息,请参阅 异步调用同步方法

如果收到 , AuthenticationException则不再 SslStream 可用。 应关闭此对象并删除对其的所有引用,以便垃圾回收器可以回收它。

注意

SSL 版本 2 协议不支持客户端证书。

适用于