public void AddQueryServer(QueryServerConnection Description, Cryptography.Key MasterSeed) { MasterQueryServerConnection Connection; Connection = (MasterQueryServerConnection) Description; Connection.MasterSeed = MasterSeed; QueryServers.Add(Connection); }
public void AddQueryServer(QueryServerConnection Description, Cryptography.Key MasterSeed) { Context.AddQueryServer(Description, MasterSeed); }
public override void Bind(string Domain, string Account, string PIN) { byte [] Challenge = Cryptography.Nonce(); OpenRequest OpenRequest = new OpenRequest (); OpenRequest.DeviceID = DeviceID; OpenRequest.DeviceURI = DeviceURI; OpenRequest.DeviceName = DeviceName; OpenRequest.Authentication = Authentication; OpenRequest.Encryption = Encryption; OpenRequest.Domain = Domain; OpenRequest.Account = Account; OpenRequest.HavePasscode = (PIN != null); OpenRequest.HaveDisplay = true; OpenRequest.Challenge = Challenge; OpenResponse ResponseOut = (OpenResponse) ConnectionBinding.RequestResponse (OpenRequest); // Check the server Response to our challenge here ConnectionBinding.SetCrypto (ResponseOut.Cryptographic[0]); TicketRequest TicketRequest = new TicketRequest (); TicketRequest.ChallengeResponse = Cryptography.ClientChallengeResponse( PIN, Challenge, ResponseOut.Challenge, Cryptography.Authentication.Unknown); TicketResponse ResponseOut2 = (TicketResponse) ConnectionBinding.RequestResponse (TicketRequest); ConnectionBinding.SetCrypto (ResponseOut2.Cryptographic[0]); QueryServers = new QueryServerConnection [ResponseOut2.Service.Count]; foreach (OBPConnection.Connection Connection in ResponseOut2.Service) { QueryServerConnection QueryServerConnection = new QueryServerConnection(); Console.WriteLine("Got a connection to {0}, type {1}", Connection.Name, Connection.Transport); if (Connection.Transport == "WebService") { WebBinding.SetCrypto (Connection.Cryptographic); } } // Need to add in all the rest of the parameters here //DNSBinding = new DirectQueryBinding (Transport.DNS); //UDPBinding = new DirectQueryBinding (Transport.UDP); }