private async Task InitStream() { if (secure == false) { _stream = _streamFactory.CreateNetworkStream(_socket, false); } else { //ssl_stream = _epl.Listener.CreateSslStream(new NetworkStream(_socket, false), false, (t, c, ch, e) => //{ // if (c == null) // return true; // var c2 = c as X509Certificate2; // if (c2 == null) // c2 = new X509Certificate2(c.GetRawCertData()); // client_cert = c2; // client_cert_errors = new int[] { (int)e }; // return true; //}); //_stream = ssl_stream.AuthenticatedStream; ssl_stream = _streamFactory.CreateSslStream(_streamFactory.CreateNetworkStream(_socket, false), false); await _streamFactory.AuthenticateSslStreamAsServer(ssl_stream, cert).ConfigureAwait(false); _stream = ssl_stream; } Init(); }