public HttpConnection(Socket sock, HttpEndPointListener epl, bool secure, X509Certificate cert) { _socket = sock; _epl = epl; _secure = secure; _cert = cert; if (secure == false) { _stream = new NetworkStream(sock, false); } else { #pragma warning disable CA5359 _sslStream = HttpListener.CreateSslStream(new NetworkStream(sock, false), false, (t, c, ch, e) => { if (c == null) { return(true); } _clientCert = c as X509Certificate2 ?? new X509Certificate2(c.GetRawCertData()); _clientCertErrors = new int[] { (int)e }; return(true); }); #pragma warning restore CA5359 _stream = _sslStream; } _timer = new Timer(OnTimeout, null, Timeout.Infinite, Timeout.Infinite); _sslStream?.AuthenticateAsServer(_cert, true, (SslProtocols)ServicePointManager.SecurityProtocol, false); Init(); }