Esempio n. 1
0
 /// <summary>
 /// Constructor
 /// </summary>
 public GenericProxyTemplate()
     : base()
 {
     LocalPort = 1080;
     Filters   = new ProxyFilterFactory[0];
     Client    = new IpProxyClientFactory();
 }
Esempio n. 2
0
 /// <summary>
 /// Constructor
 /// </summary>
 public FixedProxyTemplate()
 {
     LocalPort = 10000;
     Port      = 12345;
     Host      = "127.0.0.1";
     UdpEnable = false;
     Client    = new IpProxyClientFactory();
     Layers    = new INetworkLayerFactory[0];
 }
Esempio n. 3
0
        private void CloneCertChain(Uri url, string destination)
        {
            IProxyClientFactory factory = proxyClientControl.Client;

            if (factory == null)
            {
                factory = new IpProxyClientFactory();
            }

            ProxyClient client = factory.Create(new Logger());

            collection = new X509Certificate2Collection();

            using (IDataAdapter adapter = client.Connect(new IpProxyToken(null, url.Host, url.Port, IpProxyToken.IpClientType.Tcp, false),
                                                         new Logger(), new Nodes.MetaDictionary(), new Nodes.MetaDictionary(), new PropertyBag(), new Security.CredentialsManagerService()))
            {
                DataAdapterToStream stm = new DataAdapterToStream(adapter);

                using (SslStream ssl = new SslStream(stm, false, VerifyCallback))
                {
                    ssl.AuthenticateAsClient(url.Host);
                }
            }

            if (collection.Count > 0)
            {
                File.WriteAllBytes(Path.Combine(destination, String.Format("certchain_{0}.pfx", url.Host)), collection.Export(X509ContentType.Pfx));
                int count = 1;

                foreach (X509Certificate2 cert in collection)
                {
                    string path = Path.Combine(destination, String.Format("cert_{0}_{1}.cer", url.Host, count++));

                    File.WriteAllText(path, CertificateUtils.ExportToPEM(cert) +
                                      CertificateUtils.ExportToPEM((RSA)cert.PrivateKey, null));
                }
            }
        }