статический метод secureServer
- RawSocket socket,
- SecurityContext? context,
- {StreamSubscription<
RawSocketEvent>? subscription, -
List<
int>? bufferedData, - bool requestClientCertificate = false,
- bool requireClientCertificate = false,
-
List<
String>? supportedProtocols}
Инициирует TLS для существующего серверного соединения.
Принимает уже подключенный socket и запускает серверное рукопожатие TLS, чтобы сделать обмен данными безопасным. После завершения возвращаемого future объект RawSecureSocket завершит рукопожатие TLS. Использование этой функции требует, чтобы другая сторона соединения начала рукопожатие TLS.
Если у socket уже есть подписка, передайте существующую подписку в параметре subscription. Операция secureServer перехватит подписку, заменив обработчики собственными обработчиками защищённой передачи данных. Вызывающая сторона больше не должна обращаться к этой подписке. Передача приостановленной подписки приведёт к ошибке.
Если часть данных рукопожатия TLS уже была прочитана из сокета, эти данные можно передать в параметре bufferedData. Они будут обработаны до любых других данных, доступных в сокете.
Дополнительные сведения об аргументах см. в RawSecureServerSocket.bind.
Реализация
static Future<RawSecureSocket> secureServer(
RawSocket socket, SecurityContext? context,
{StreamSubscription<RawSocketEvent>? subscription,
List<int>? bufferedData,
bool requestClientCertificate = false,
bool requireClientCertificate = false,
List<String>? supportedProtocols}) {
socket.readEventsEnabled = false;
socket.writeEventsEnabled = false;
return _RawSecureSocket.connect(
socket.address, socket.remotePort, true, socket,
context: context,
subscription: subscription,
bufferedData: bufferedData,
requestClientCertificate: requestClientCertificate,
requireClientCertificate: requireClientCertificate,
supportedProtocols: supportedProtocols);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/RawSecureSocket/secureServer.html