public ProxyServer(FirewallCheckCallback firewallCallback, MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback, BadCertificateCallback badCertificateCallback = null) { if (firewallCallback == null) { throw new ArgumentException("The firewall callback MUST be defined."); } if (messageBeginCallback == null) { throw new ArgumentException("The message begin callback MUST be defined."); } if (messageEndCallback == null) { throw new ArgumentException("The message end callback MUST be defined."); } m_fwCallback = firewallCallback; FilterResponseHandlerFactory.Default.MessageBeginCallback = messageBeginCallback; FilterResponseHandlerFactory.Default.MessageEndCallback = messageEndCallback; FilterResponseHandlerFactory.Default.BadCertificateCallback = badCertificateCallback; }
public AbstractFilterResponseHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) { m_msgBeginCb = messageBeginCallback; m_msgEndCb = messageEndCallback; }
/// <summary> /// Creates a new WindowsProxyServer instance. Really there should only ever be a single instance /// created at a time. /// </summary> /// <param name="authorityCommonName"> /// The common name to use when generating the certificate authority. Basically, all SSL /// sites will show that they are secured by a certificate authority with this name that is /// supplied here. /// </param> /// <param name="firewallCallback"> /// The firewall check callback. Used to allow the user to determine if a binary should have /// its associated traffic pushed through the filter or not. /// </param> /// <param name="messageBeginCallback"> /// Message begin callback enables users to inspect and filter messages immediately after /// they begin. Users also have the power to direct how the proxy will continue to handle the /// overall transaction that this message belongs to. /// </param> /// <param name="messageEndCallback"> /// Message end callback enables users to inspect and filter messages once they have completed. /// </param> /// <exception cref="ArgumentException"> /// Will throw if any one of the callbacks are not defined. /// </exception> public WindowsProxyServer(string authorityCommonName, FirewallCheckCallback firewallCallback, MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(authorityCommonName, firewallCallback, messageBeginCallback, messageEndCallback) { }
public FilterHttpResponseHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(messageBeginCallback, messageEndCallback) { }
public FilterHttpResponseHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback, BadCertificateCallback badCertificateCallback) : base(messageBeginCallback, messageEndCallback, badCertificateCallback) { }
public WindowsProxyServer(FirewallCheckCallback firewallCallback, MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback, BadCertificateCallback badCertificateCallback) : base(firewallCallback, messageBeginCallback, messageEndCallback, badCertificateCallback) { }
public FilterWebsocketHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(messageBeginCallback, messageEndCallback) { }
public WindowsProxyServer(FirewallCheckCallback firewallCallback, MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(firewallCallback, messageBeginCallback, messageEndCallback) { }
public FilterWebsocketHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(messageBeginCallback, messageEndCallback) { Console.WriteLine("New FilterWebsocketHandler"); }
public FilterPassthroughResponseHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) : base(messageBeginCallback, messageEndCallback) { }
public AbstractFilterResponseHandler(MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback, BadCertificateCallback onBadCertificate) { m_msgBeginCb = messageBeginCallback; m_msgEndCb = messageEndCallback; m_onBadCertificate = onBadCertificate; }
/// <summary> /// Creates a new proxy server instance. Really there should only ever be a single instance /// created at a time. /// </summary> /// <param name="authorityCommonName"> /// The common name to use when generating the certificate authority. Basically, all SSL /// sites will show that they are secured by a certificate authority with this name that is /// supplied here. /// </param> /// <param name="firewallCallback"> /// The firewall check callback. Used to allow the user to determine if a binary should have /// its associated traffic pushed through the filter or not. /// </param> /// <param name="messageBeginCallback"> /// Message begin callback enables users to inspect and filter messages immediately after /// they begin. Users also have the power to direct how the proxy will continue to handle the /// overall transaction that this message belongs to. /// </param> /// <param name="messageEndCallback"> /// Message end callback enables users to inspect and filter messages once they have completed. /// </param> /// <exception cref="ArgumentException"> /// Will throw if any one of the callbacks are not defined. /// </exception> public ProxyServer(string authorityCommonName, FirewallCheckCallback firewallCallback, MessageBeginCallback messageBeginCallback, MessageEndCallback messageEndCallback) { m_tlsConnAdapter = new TlsSniConnectionAdapter(authorityCommonName); m_fwCallback = firewallCallback ?? throw new ArgumentException("The firewall callback MUST be defined."); FilterResponseHandlerFactory.Default.MessageBeginCallback = messageBeginCallback ?? throw new ArgumentException("The message begin callback MUST be defined."); FilterResponseHandlerFactory.Default.MessageEndCallback = messageEndCallback ?? throw new ArgumentException("The message end callback MUST be defined."); // Hook the cert verification callback. ServicePointManager.ServerCertificateValidationCallback += CertificateVerificationHandler; }