public WsStream(SslStream innerStream) : this() { if (innerStream.IsNull()) throw new ArgumentNullException("innerStream"); _innerStream = innerStream; _isSecure = true; }
internal static WsStream CreateServerStream(TcpClient client, X509Certificate cert, bool secure) { NetworkStream stream = client.GetStream(); if (secure) { WebSocketSharp.Net.Security.SslStream sslStream = new WebSocketSharp.Net.Security.SslStream(stream, false); sslStream.AuthenticateAsServer(cert); return(new WsStream(sslStream)); } return(new WsStream(stream)); }
internal static WsStream CreateClientStream(TcpClient client, bool secure, string host, RemoteCertificateValidationCallback validationCallback) { NetworkStream stream = client.GetStream(); if (secure) { if (validationCallback == null) { validationCallback = ((object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => true); } WebSocketSharp.Net.Security.SslStream sslStream = new WebSocketSharp.Net.Security.SslStream(stream, false, validationCallback); sslStream.AuthenticateAsClient(host); return(new WsStream(sslStream)); } return(new WsStream(stream)); }
public WsStream(SslStream innerStream) { init(innerStream); }
internal static WsStream CreateServerStream(TcpClient client) { var netStream = client.GetStream(); var port = ((IPEndPoint)client.Client.LocalEndPoint).Port; if (port == 443) { var sslStream = new SslStream(netStream, false); var certPath = ConfigurationManager.AppSettings["ServerCertPath"]; sslStream.AuthenticateAsServer(new X509Certificate2(certPath)); return new WsStream(sslStream); } return new WsStream(netStream); }
internal static WsStream CreateClientStream(string hostname, int port, out TcpClient client) { client = new TcpClient(hostname, port); var netStream = client.GetStream(); if (port == 443) { System.Net.Security.RemoteCertificateValidationCallback validationCb = (sender, certificate, chain, sslPolicyErrors) => { // FIXME: Always returns true return true; }; var sslStream = new SslStream(netStream, false, validationCb); sslStream.AuthenticateAsClient(hostname); return new WsStream(sslStream); } return new WsStream(netStream); }
public HttpConnection (Socket socket, EndPointListener listener) { _socket = socket; _listener = listener; _secure = listener.IsSecure; var netStream = new NetworkStream (socket, false); if (_secure) { var sslStream = new SslStream (netStream, false); sslStream.AuthenticateAsServer (listener.Certificate); _stream = sslStream; } else { _stream = netStream; } _sync = new object (); _timeout = 90000; // 90k ms for first request, 15k ms from then on. _timer = new CSTimer(onTimeout, this, Timeout.Infinite, Timeout.Infinite); init (); }
internal WsStream(SslStream innerStream) : this(innerStream, true) { }
internal static WsStream CreateServerStream(TcpClient client, bool secure, X509Certificate cert) { var netStream = client.GetStream (); if (secure) { var sslStream = new SslStream (netStream, false); sslStream.AuthenticateAsServer (cert); return new WsStream (sslStream); } return new WsStream (netStream); }
internal static WsStream CreateClientStream( TcpClient client, bool secure, string host, System.Net.Security.RemoteCertificateValidationCallback validationCallback ) { var netStream = client.GetStream (); if (secure) { if (validationCallback == null) validationCallback = (sender, certificate, chain, sslPolicyErrors) => true; var sslStream = new SslStream (netStream, false, validationCallback); sslStream.AuthenticateAsClient (host); return new WsStream (sslStream); } return new WsStream (netStream); }
public HttpConnection( Socket socket, EndPointListener listener, bool secure, X509Certificate2 cert ) { _socket = socket; _epListener = listener; _secure = secure; var netStream = new NetworkStream (socket, false); if (!secure) { _stream = netStream; } else { var sslStream = new SslStream (netStream, false); sslStream.AuthenticateAsServer (cert); _stream = sslStream; } _timer = new Timer (OnTimeout, null, Timeout.Infinite, Timeout.Infinite); Init (); }
internal static WsStream CreateServerStream(TcpClient client, bool secure) { var netStream = client.GetStream(); if (secure) { var sslStream = new SslStream(netStream, false); var certPath = ConfigurationManager.AppSettings["ServerCertPath"]; sslStream.AuthenticateAsServer(new X509Certificate2(certPath)); return new WsStream(sslStream); } return new WsStream(netStream); }
public HttpConnection( Socket sock, EndPointListener epl, bool secure, X509Certificate2 cert, AsymmetricAlgorithm key ) { this.sock = sock; this.epl = epl; this.secure = secure; this.key = key; // if (secure == false) { // stream = new NetworkStream (sock, false); // } else { // var ssl_stream = new SslServerStream (new NetworkStream (sock, false), cert, false, false); // ssl_stream.PrivateKeyCertSelectionDelegate += OnPVKSelection; // stream = ssl_stream; // } var net_stream = new NetworkStream (sock, false); if (!secure) { stream = net_stream; } else { var ssl_stream = new SslStream(net_stream, false); ssl_stream.AuthenticateAsServer(cert); stream = ssl_stream; } timer = new Timer (OnTimeout, null, Timeout.Infinite, Timeout.Infinite); Init (); }
public HttpConnection ( Socket socket, EndPointListener listener, bool secure, X509Certificate2 cert) { _socket = socket; _epListener = listener; _secure = secure; var netStream = new NetworkStream (socket, false); if (!secure) _stream = netStream; else { var sslStream = new SslStream (netStream, false); sslStream.AuthenticateAsServer (cert); _stream = sslStream; } _timeout = 90000; // 90k ms for first request, 15k ms from then on. _timer = new Timer (onTimeout, null, Timeout.Infinite, Timeout.Infinite); init (); }
internal static WsStream CreateClientStream(TcpClient tcpClient, string host, bool secure) { var netStream = tcpClient.GetStream(); if (secure) { System.Net.Security.RemoteCertificateValidationCallback callback = (sender, certificate, chain, sslPolicyErrors) => { // FIXME: Always returns true return true; }; var sslStream = new SslStream(netStream, false, callback); sslStream.AuthenticateAsClient(host); return new WsStream(sslStream); } return new WsStream(netStream); }
internal WsStream(WebSocketSharp.Net.Security.SslStream innerStream) : this(innerStream, true) { }