HttpServer.HttpContextFactory.CreateSecureContext C# (CSharp) Method

CreateSecureContext() public method

Create a secure IHttpClientContext.
public CreateSecureContext ( Socket socket, X509Certificate certificate, SslProtocols protocol ) : IHttpClientContext
socket Socket Client socket (accepted by the ).
certificate System.Security.Cryptography.X509Certificates.X509Certificate HTTPS certificate to use.
protocol SslProtocols Kind of HTTPS protocol. Usually TLS or SSL.
return IHttpClientContext
        public IHttpClientContext CreateSecureContext(Socket socket, X509Certificate certificate, SslProtocols protocol)
        {
			var networkStream = new ReusableSocketNetworkStream(socket, true);
            var remoteEndPoint = (IPEndPoint) socket.RemoteEndPoint;

            var sslStream = new SslStream(networkStream, false);
            try
            {
                //TODO: this may fail
                sslStream.AuthenticateAsServer(certificate, false, protocol, false);
                return CreateContext(true, remoteEndPoint, sslStream, socket);
            }
            catch (IOException err)
            {
                if (UseTraceLogs)
                    _logWriter.Write(this, LogPrio.Trace, err.Message);
            }
            catch (ObjectDisposedException err)
            {
                if (UseTraceLogs)
                    _logWriter.Write(this, LogPrio.Trace, err.Message);
            }

            return null;
        }