Метод secure
Future<RawSecureSocket> secure(Принимает уже подключенный 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