public InitializationResponse ConnectToServer()
        {
            client.Connect(server_endpoint);

            this.private_endpoint = ((IPEndPoint)client.LocalEndPoint).Convert();

            System.Console.WriteLine($"{client.LocalEndPoint}");
            System.Console.WriteLine($"Local endpoint: {private_endpoint.GetAddress()}:{private_endpoint.Port}");

            this.state  = Tcp_State.Initialization;
            this.stream = new NetworkStream(client);

            InitializationRequest info = new InitializationRequest
            {
                ClientId        = id,
                PrivateEndpoint = private_endpoint
            };

            info.WriteDelimitedTo(stream);

            var response = InitializationResponse.Parser.ParseDelimitedFrom(stream);

            this.state = Tcp_State.WithoutLobby;

            return(response);
        }
Ejemplo n.º 2
0
 public InitializationResponse StartInit([FromBody] InitializationRequest requ)
 {
     return(_server.Initialize(requ.SecretShares, requ.SecretThreshold)
            ?? throw new VaultServerException(
                HttpStatusCode.BadRequest,
                "Vault is already initialized"));
 }
Ejemplo n.º 3
0
        // Access the Logging extensions registered in the DI container
        //[Inject]
        //public ILogger<BaseServicesCodeBehind> Log { get; set; }

        //[Inject]
        //protected SessionStorage sessionStorage;

        //[Inject]
        //protected LocalStorage localStorage;

        #endregion

        #region Page Initialization Handler
        protected override async Task OnInitAsync()
        {
            //Log.LogDebug($"Starting OnInitAsync");
            ////Log.LogDebug($"Initializing IServiceClient");
            ////IServiceClient client = new JsonHttpClient("http://localhost:21100");
            ////Log.LogDebug($"client is null: {client == null}");

            /* // from teh stateless statemachine compiler project
             * const string on = "On";
             * const string off = "Off";
             * const char space = ' ';
             * var onOffSwitch = new StateMachine<string, char>(off);
             * onOffSwitch.Configure(off).Permit(space, on);
             * onOffSwitch.Configure(on).Permit(space, off);
             */
            var initializationRequest = new InitializationRequest(new InitializationRequestPayload(new InitializationData("BaseVersionXX", "MachineIDXX", "userIDxx")));

            //Log.LogDebug($"Calling PostJsonAsync<InitializationResponse> with InitializationRequest = {InitializationRequest}");
            InitializationResponse = await HttpClient.PostJsonAsync <InitializationResponse>("/BaseServicesInitialization",
                                                                                             initializationRequest);

            //Log.LogDebug($"Returned from PostJsonAsync<InitializationResponse>, InitializationResponse = {InitializationResponse}");
            ConfigurationData   = InitializationResponse.InitializationResponsePayload.ConfigurationData;
            UserData            = InitializationResponse.InitializationResponsePayload.UserData;
            PartitionInfoExs    = new PartitionInfoExs();
            LongRunningTasksCOD = new ConcurrentObservableDictionary <Id <LongRunningTaskInfo>, LongRunningTaskStatus>();
            //Log.LogDebug($"Leaving OnInitAsync");
        }
        public HandlerResult<InitializationRequest> StartInit(
            [BindBody]InitializationRequest requ)
        {
            return requ;

            //return Results.BadRequest;

            // return _server.Initialize(requ.SecretShares, requ.SecretThreshold)
            //         ?? throw new VaultServerException(
            //                 HttpStatusCode.BadRequest,
            //                 "Vault is already initialized");
        }
        public async void InitAfterInit()
        {
            using (var client = new VaultClient(TestVaultAddress))
            {
                var initRequ = new InitializationRequest
                {
                    SecretShares    = 3,
                    SecretThreshold = 2,
                };

                var ex = await Assert.ThrowsAsync <VaultClientException>(
                    async() => await client.DoInitializeAsync(initRequ));

                Assert.Equal(HttpStatusCode.BadRequest, ex.StatusCode);
                Assert.Equal("Vault is already initialized", ex.Errors?.Errors?.FirstOrDefault());
            }
        }
Ejemplo n.º 6
0
        protected override async Task OnInitAsync()
        {
            //Logger.LogDebug($"Starting OnInitAsync");
            var initializationRequest = new InitializationRequest(new InitializationRequestPayload(new Agent.BaseServices.InitializationData("BaseVersionXX", "MachineIDXX", "userIDxx")));
            //Logger.LogDebug($"Calling PostJsonAsync<InitializationResponse> with InitializationRequest ={initializationRequest}");
            var initializationResponse = await HttpClient.PostJsonAsync <InitializationResponse>("/RealEstateServicesInitialization", initializationRequest);

            //Logger.LogDebug($"Returned from GetJsonAsync<InitializationResponse>, initializationResponse = {initializationResponse}");
            ConfigurationData = initializationResponse.InitializationResponsePayload.ConfigurationData;
            UserData          = initializationResponse.InitializationResponsePayload.UserData;
            // ToDo: Design better security for the API keys on the client (e.g, keep only tokens on the client, or, make the user enter the API keys on the client, and only keep them there (per user?)
            GoogleAPIKey = UserData.GoogleAPIKeyEncrypted;
            //GoogleAPIKeyPassPhrase=UserData.GoogleAPIKeyPassPhrase;
            HomeAwayAPIKey = UserData.HomeAwayAPIKeyEncrypted;
            //HomeAwayAPIKeyPassPhrase=UserData.HomeAwayAPIKeyPassPhrase;

            //Logger.LogDebug($"Leaving OnInitAsync");
        }
Ejemplo n.º 7
0
        public async Task <string> Post([FromBody] InitializationRequest kkm)
        {
            try
            {
                var client  = new HttpClient();
                var content = new StringContent(JsonConvert.SerializeObject(kkm));
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var response = await client.PostAsync("http://52.38.152.232:8082", content);

                var value = await response.Content.ReadAsStringAsync();

                return(value);
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        //[Fact]
        public async void FirstInit()
        {
            using (var client = new VaultClient(TestVaultAddress))
            {
                var initRequ = new InitializationRequest
                {
                    SecretShares    = 3,
                    SecretThreshold = 2,
                };

                var initResp = await client.DoInitializeAsync(initRequ);

                Assert.NotNull(initResp.RootToken);
                Assert.NotEqual(string.Empty, initResp.RootToken);

                Assert.NotNull(initResp.KeysBase64);
                Assert.NotEmpty(initResp.KeysBase64);
                Assert.Equal(initRequ.SecretShares, initResp.KeysBase64.Length);
            }
        }