Spec-Zone.ru › Dart 1

dart:io

Метод secure

Future<RawSecureSocket> secure(RawSocket socket, { StreamSubscription<RawSocketEvent> subscription, host, SecurityContext context, bool onBadCertificate(X509Certificate certificate), List<String> supportedProtocols })

Принимает уже подключенный socket и запускает TLS-рукопожатие со стороны клиента, чтобы обеспечить безопасность связи. Когда возвращаемое future завершается, RawSecureSocket завершает TLS-рукопожатие. Для использования этой функции необходимо, чтобы другой конец подключения был готов к TLS-рукопожатию.

Если у socket уже есть подписка, передайте существующую подписку в параметр subscription. Операция secure возьмет подписку на себя, заменив обработчики своей защищенной обработкой. Вызывающая сторона больше не должна взаимодействовать с этой подписью. Передача приостановленной подписки является ошибкой.

Если передан аргумент host, он будет использоваться в качестве имени хоста для TLS-рукопожатия. Если host не передан, будет использовано имя хоста из socket. host может быть строкой String или адресом InternetAddress.

Вызов этой функции не вызовет поиск DNS-хоста. Если переданный host является строкой String, адрес InternetAddress для получившегося SecureSocket будет иметь этот переданный host в качестве значения хоста и интернет-адрес уже подключенного сокета в качестве значения адреса.

См. connect для получения дополнительной информации об аргументах.

Исходный код

static Future<RawSecureSocket> secure(RawSocket socket,
    {StreamSubscription<RawSocketEvent> subscription,
    host,
    SecurityContext context,
    bool onBadCertificate(X509Certificate certificate),
    List<String> supportedProtocols}) {
  socket.readEventsEnabled = false;
  socket.writeEventsEnabled = false;
  return _RawSecureSocket.connect(
      host != null ? host : socket.address.host, socket.port,
      is_server: false,
      socket: socket,
      subscription: subscription,
      context: context,
      onBadCertificate: onBadCertificate,
      supportedProtocols: supportedProtocols);
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/RawSecureSocket/secure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API