SslStream.AuthenticateAsClientAsync 方法

定义

对客户端-服务器连接中的客户端进行身份验证以作为异步操作。

重载

AuthenticateAsClientAsync(String, X509CertificateCollection, SslProtocols, Boolean)

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用指定的证书集合和 SSL 协议。

AuthenticateAsClientAsync(String, X509CertificateCollection, Boolean)

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用指定的证书集合和系统默认的 SSL 协议。

AuthenticateAsClientAsync(String)

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。

AuthenticateAsClientAsync(SslClientAuthenticationOptions, CancellationToken)

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用 sslClientAuthenticationOptions 属性包中指定的信息。

AuthenticateAsClientAsync(String, X509CertificateCollection, SslProtocols, Boolean)

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

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用指定的证书集合和 SSL 协议。

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::String ^ targetHost, System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ clientCertificates, System::Security::Authentication::SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
abstract member AuthenticateAsClientAsync : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * System.Security.Authentication.SslProtocols * bool -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * System.Security.Authentication.SslProtocols * bool -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (targetHost As String, clientCertificates As X509CertificateCollection, enabledSslProtocols As SslProtocols, checkCertificateRevocation As Boolean) As Task

参数

targetHost
String

将共享此 SslStream 的服务器名称。

clientCertificates
X509CertificateCollection

包含客户端证书的 X509CertificateCollection

enabledSslProtocols
SslProtocols

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

checkCertificateRevocation
Boolean

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

返回

表示异步操作的任务对象。

例外

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

已进行了身份验证。

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

身份验证已在进行中。

此对象已关闭。

注解

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

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的SslStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

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

注意

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

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean)异常。

适用于

AuthenticateAsClientAsync(String, X509CertificateCollection, Boolean)

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

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用指定的证书集合和系统默认的 SSL 协议。

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::String ^ targetHost, System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ clientCertificates, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
abstract member AuthenticateAsClientAsync : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * bool -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : string * System.Security.Cryptography.X509Certificates.X509CertificateCollection * bool -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (targetHost As String, clientCertificates As X509CertificateCollection, checkCertificateRevocation As Boolean) As Task

参数

targetHost
String

将共享此 SslStream 的服务器名称。

clientCertificates
X509CertificateCollection

包含客户端证书的 X509CertificateCollection

checkCertificateRevocation
Boolean

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

返回

表示异步操作的任务对象。

例外

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

已进行了身份验证。

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

身份验证已在进行中。

此对象已关闭。

注解

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

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的SslStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

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

注意

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

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsClient(String, X509CertificateCollection, Boolean)异常。

适用于

AuthenticateAsClientAsync(String)

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

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::String ^ targetHost);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost);
abstract member AuthenticateAsClientAsync : string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (targetHost As String) As Task

参数

targetHost
String

共享此 SslStream 的服务器名称。

返回

表示异步操作的任务对象。

例外

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 指定的值必须与服务器证书上的名称匹配。

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的SslStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

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

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsClient(String)异常。

适用于

AuthenticateAsClientAsync(SslClientAuthenticationOptions, CancellationToken)

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

由客户端调用,以对服务器或客户端服务器连接中的客户端(可选)进行身份验证,此为异步操作。 身份验证过程使用 sslClientAuthenticationOptions 属性包中指定的信息。

public:
 System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::Security::SslClientAuthenticationOptions ^ sslClientAuthenticationOptions, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.Security.SslClientAuthenticationOptions sslClientAuthenticationOptions, System.Threading.CancellationToken cancellationToken = default);
public System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.Security.SslClientAuthenticationOptions sslClientAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
member this.AuthenticateAsClientAsync : System.Net.Security.SslClientAuthenticationOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function AuthenticateAsClientAsync (sslClientAuthenticationOptions As SslClientAuthenticationOptions, Optional cancellationToken As CancellationToken = Nothing) As Task
Public Function AuthenticateAsClientAsync (sslClientAuthenticationOptions As SslClientAuthenticationOptions, cancellationToken As CancellationToken) As Task

参数

sslClientAuthenticationOptions
SslClientAuthenticationOptions

SSL 连接的属性包。

cancellationToken
CancellationToken

要监视取消请求的标记。

返回

表示异步操作的任务对象。

例外

sslClientAuthenticationOptionsnull

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

已进行了身份验证。

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

身份验证已在进行中。

此对象已关闭。

取消令牌已取消。 此异常存储在返回的任务中。

注解

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的SslStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

如果身份验证失败,则会收到 一个 AuthenticationException,并且它 SslStream 不再可用。 应关闭此对象并删除对其的所有引用,以便垃圾回收器可以收集它。

此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsClient(SslClientAuthenticationOptions)异常。

适用于