Поделиться через


SslStream.AuthenticateAsClientAsync Метод

Определение

Аутентифицирует клиентскую сторону соединения клиент-сервер как асинхронную операцию.

Перегрузки

AuthenticateAsClientAsync(String, X509CertificateCollection, SslProtocols, Boolean)

Вызывается клиентами для проверки подлинности сервера и, при необходимости, клиента в подключении "клиент-сервер" в рамках асинхронной операции. Процесс проверки подлинности использует заданную коллекцию сертификатов и протокол SSL.

AuthenticateAsClientAsync(String, X509CertificateCollection, Boolean)

Вызывается клиентами для проверки подлинности сервера и, при необходимости, клиента в подключении "клиент-сервер" в рамках асинхронной операции. Процесс проверки подлинности использует указанную коллекцию сертификатов и протокол SSL системы по умолчанию.

AuthenticateAsClientAsync(String)

Вызывается клиентами для проверки подлинности сервера и, при необходимости, клиента в подключении "клиент-сервер" в рамках асинхронной операции.

AuthenticateAsClientAsync(SslClientAuthenticationOptions, CancellationToken)

Вызывается клиентами для проверки подлинности сервера и, при необходимости, клиента в подключении "клиент-сервер" в рамках асинхронной операции. В процессе проверки подлинности используются сведения, указанные в контейнере свойств sslClientAuthenticationOptions.

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

Параметры

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.0, 1.1 и 1.2 (если только вы не отключите надежное шифрование в реестре 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

Параметры

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.0, 1.1 и 1.2 (если только вы не отключите надежное шифрование в реестре 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
String

Имя сервера, который совместно использует SslStream.

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

targetHost имеет значение null.

Произошел сбой проверки подлинности, и этот объект остался в неработоспособном состоянии.

Проверка подлинности уже выполнена.

-или-

Попытка проверки подлинности сервера с использованием SslStream уже выполнена.

-или-

Проверка подлинности уже выполняется.

Объект закрыт.

Комментарии

Начиная с версии .NET Framework 4.7 этот метод выполняет проверку подлинности с помощью None, что позволяет операционной системе выбрать наилучший протокол для использования и блокирования протоколов, которые не являются безопасными. В .NET Framework 4.6 (и .NET Framework 4.5 с последними обновлениями безопасности) допустимы версии протокола TLS/SSL 1.0, 1.1 и 1.2 (если только вы не отключите надежное шифрование в реестре 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.

Произошел сбой проверки подлинности, и этот объект остался в неработоспособном состоянии.

Проверка подлинности уже выполнена.

-или-

Попытка проверки подлинности сервера с использованием SslStream уже выполнена.

-или-

Проверка подлинности уже выполняется.

Объект закрыт.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

После успешной проверки подлинности необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются SslStream. Проверьте свойство , IsMutuallyAuthenticated чтобы определить, произошла ли взаимная проверка подлинности.

Если проверка подлинности завершается сбоем AuthenticationException, вы получите , и она SslStream больше не будет использоваться. Этот объект следует закрыть и удалить все ссылки на него, чтобы сборщик мусора смог собрать его.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient(SslClientAuthenticationOptions).

Применяется к