public static Tuple <UserForm, IEnumerable <TcpListener>, IAsymmetricKeysExchange> CreateForm(string login, bool listenPorts, IPAddress ip, Random random) { var rand = random ?? new Random(); var ecdsa = new MoleECDsaCng(); var publicKey = ecdsa.Export(false); //PossibleCryptoAlgs = new PossibleCryptoInfo(new[] { "CngMicrosoft" }, new[] { "Sha1", "Md5", "Sha256" }, // new[] { "Rsa" }, new[] { "Aes", "Des" }, new[] { "Ecc" }); var hashAlg = SHA1.Create(); var hash = hashAlg.ComputeHash(publicKey); var publicKeyForm = new PublicKeyForm() { CryptoAlg = "Ecc", CryptoProvider = "CngMicrosoft", Key = publicKey, Hash = hash, HashAlg = "Sha1" }; var form = new UserForm() { Accessibility = new AccessibilityInfo(100, 5) { IsPublicProfile = true }, Login = login, Password = "******", PortClientToClient1 = (ushort)rand.Next(20000, 60000), PortClientToClient2 = (ushort)rand.Next(20000, 60000), PortClientToClient3 = (ushort)rand.Next(20000, 60000), PortServerToClient = (ushort)rand.Next(20000, 60000), KeyParametrsBlob = publicKeyForm }; //192.168.65.129 var listners = new List <TcpListener>(4); if (listenPorts) { var listner = new TcpListener(ip, form.PortClientToClient1); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortClientToClient2); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortClientToClient3); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortServerToClient); listner.Start(); listners.Add(listner); } return(new Tuple <UserForm, IEnumerable <TcpListener>, IAsymmetricKeysExchange>(form, listners, ecdsa)); }
public static Tuple <UserForm, IEnumerable <TcpListener>, IAsymmetricKeysExchange> CreateForm(string login, bool listenPorts, IPAddress ip, Random random) { var rand = random ?? new Random(); var ecdsa = new MoleECDsaCng(); var publicKey = ecdsa.Export(false); var form = new UserForm() { Accessibility = new AccessibilityInfo(100, 5) { IsPublicProfile = true }, Login = login, Password = "******", PortClientToClient1 = (ushort)rand.Next(20000, 60000), PortClientToClient2 = (ushort)rand.Next(20000, 60000), PortClientToClient3 = (ushort)rand.Next(20000, 60000), PortServerToClient = (ushort)rand.Next(20000, 60000), KeyParametrsBlob = publicKey }; //192.168.65.129 var listners = new List <TcpListener>(4); if (listenPorts) { var listner = new TcpListener(ip, form.PortClientToClient1); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortClientToClient2); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortClientToClient3); listner.Start(); listners.Add(listner); listner = new TcpListener(ip, form.PortServerToClient); listner.Start(); listners.Add(listner); } return(new Tuple <UserForm, IEnumerable <TcpListener>, IAsymmetricKeysExchange>(form, listners, ecdsa)); }