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) 例外狀況。

適用於