SslStream.AuthenticateAsClientAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步作業方式驗證用戶端與伺服器連接中的用戶端。
多載
AuthenticateAsClientAsync(String, X509CertificateCollection, SslProtocols, Boolean) |
已由用戶端呼叫,以非同步作業方式在用戶端與伺服器連線中驗證伺服器和用戶端 (選擇性)。 驗證處理序使用指定的憑證集合和 SSL 通訊協定。 |
AuthenticateAsClientAsync(String, X509CertificateCollection, Boolean) |
已由用戶端呼叫,以非同步作業方式在用戶端與伺服器連線中驗證伺服器和用戶端 (選擇性)。 驗證程序會使用指定的憑證集合物件和系統預設的 SSL 通訊協定。 |
AuthenticateAsClientAsync(String) |
已由用戶端呼叫,以非同步作業方式在用戶端與伺服器連線中驗證伺服器和用戶端 (選擇性)。 |
AuthenticateAsClientAsync(SslClientAuthenticationOptions, CancellationToken) |
已由用戶端呼叫,以非同步作業方式在用戶端與伺服器連線中驗證伺服器和用戶端 (選擇性)。 驗證程序會使用 |
AuthenticateAsClientAsync(String, X509CertificateCollection, SslProtocols, Boolean)
- 來源:
- SslStream.cs
- 來源:
- SslStream.cs
- 來源:
- 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
參數
- clientCertificates
- X509CertificateCollection
X509CertificateCollection,包含用戶端憑證。
- enabledSslProtocols
- SslProtocols
SslProtocols 值,代表用於驗證的通訊協定。
傳回
工作物件,表示非同步作業。
例外狀況
驗證失敗,且此物件處於不穩定的狀態。
此物件已關閉。
備註
從 .NET Framework 4.7 開始,此方法會使用 None 進行驗證,讓作業系統選擇最適用的通訊協定,並封鎖不安全的通訊協定。 在 .NET Framework 4.6 (和已安裝最新安全性修補程式的 .NET Framework 4.5) 中,允許的 TLS/SSL 通訊協定版本為 1.2、1.1 和 1.0 (除非您編輯 Windows 登錄來停用強式加密)。
驗證成功時,您必須檢查 IsEncrypted 和 IsSigned 屬性,以判斷 所使用的 SslStream安全性服務。 IsMutuallyAuthenticated檢查 屬性,以判斷是否發生相互驗證。
如果驗證失敗,您會收到 AuthenticationException,因此 SslStream 無法再使用。 您應該關閉這個物件,並移除它的所有參考,以便垃圾收集行程可以收集它。
注意
SSL 第 2 版通訊協定不支援客戶端憑證。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean)擲回的例外狀況。
適用於
AuthenticateAsClientAsync(String, X509CertificateCollection, Boolean)
- 來源:
- SslStream.cs
- 來源:
- SslStream.cs
- 來源:
- 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
參數
- clientCertificates
- X509CertificateCollection
X509CertificateCollection,包含用戶端憑證。
傳回
工作物件,表示非同步作業。
例外狀況
驗證失敗,且此物件處於不穩定的狀態。
此物件已關閉。
備註
從 .NET Framework 4.7 開始,此方法會使用 None 進行驗證,讓作業系統選擇最適用的通訊協定,並封鎖不安全的通訊協定。 在 .NET Framework 4.6 (和已安裝最新安全性修補程式的 .NET Framework 4.5) 中,允許的 TLS/SSL 通訊協定版本為 1.2、1.1 和 1.0 (除非您編輯 Windows 登錄來停用強式加密)。
驗證成功時,您必須檢查 IsEncrypted 和 IsSigned 屬性,以判斷 所使用的 SslStream安全性服務。 IsMutuallyAuthenticated檢查 屬性,以判斷是否發生相互驗證。
如果驗證失敗,您會收到 AuthenticationException,因此 SslStream 無法再使用。 您應該關閉這個物件,並移除它的所有參考,以便垃圾收集行程可以收集它。
注意
SSL 第 2 版通訊協定不支援客戶端憑證。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 AuthenticateAsClient(String, X509CertificateCollection, Boolean)擲回的例外狀況。
適用於
AuthenticateAsClientAsync(String)
- 來源:
- SslStream.cs
- 來源:
- SslStream.cs
- 來源:
- 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
為 null
。
驗證失敗,且此物件處於不穩定的狀態。
此物件已關閉。
備註
從 .NET Framework 4.7 開始,此方法會使用 None 進行驗證,讓作業系統選擇最適用的通訊協定,並封鎖不安全的通訊協定。 在 .NET Framework 4.6 (和已安裝最新安全性修補程式的 .NET Framework 4.5) 中,允許的 TLS/SSL 通訊協定版本為 1.2、1.1 和 1.0 (除非您編輯 Windows 登錄來停用強式加密)。 驗證中不會使用任何客戶端憑證。 驗證期間不會檢查證書吊銷清單。 指定的 targetHost
值必須符合伺服器證書上的名稱。
驗證成功時,您必須檢查 IsEncrypted 和 IsSigned 屬性,以判斷 所使用的 SslStream安全性服務。 IsMutuallyAuthenticated檢查 屬性,以判斷是否發生相互驗證。
如果驗證失敗,您會收到 AuthenticationException,因此 SslStream 無法再使用。 您應該關閉這個物件,並移除它的所有參考,以便垃圾收集行程可以收集它。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 AuthenticateAsClient(String)擲回的例外狀況。
適用於
AuthenticateAsClientAsync(SslClientAuthenticationOptions, CancellationToken)
- 來源:
- SslStream.cs
- 來源:
- SslStream.cs
- 來源:
- 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
用來監視是否有取消要求的語彙基元。
傳回
工作物件,表示非同步作業。
例外狀況
sslClientAuthenticationOptions
為 null
。
驗證失敗,且此物件處於不穩定的狀態。
此物件已關閉。
取消令牌已取消。 此例外狀況會儲存在傳回的工作中。
備註
驗證成功時,您必須檢查 IsEncrypted 和 IsSigned 屬性,以判斷 所使用的 SslStream安全性服務。 IsMutuallyAuthenticated檢查 屬性,以判斷是否發生相互驗證。
如果驗證失敗,您會收到 AuthenticationException,因此 SslStream 無法再使用。 您應該關閉這個物件,並移除它的所有參考,以便垃圾收集行程可以收集它。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 AuthenticateAsClient(SslClientAuthenticationOptions)擲回的例外狀況。