Esempio n. 1
0
        public async static Task<bool> CreateNewUser(CertificateInfo certificateInformation, string outputPath)
        {
            string response;

            using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port))
            {
                await stream.SendStringAsync("new-user");
                response = await stream.ReceiveStringAsync();
                if (response != "provide-user-name")
                {
                    UnknownCommandError("provide-user-name", response);
                }
                await stream.SendStringAsync("user-name");
                await stream.SendStringAsync(certificateInformation.CommonName);
                response = await stream.ReceiveStringAsync();
                if (response != "provide-user-mail")
                {
                    UnknownCommandError("provide-user-mail", response);
                }
                await stream.SendStringAsync("user-mail");
                await stream.SendStringAsync(certificateInformation.Email);
                response = await stream.ReceiveStringAsync();
                if (response == "user-exists")
                {
                    ServerResponseError(response);
                }
                else if (response != "provide-user-data")
                {
                    UnknownCommandError("provide-user-data", response);
                }
                await stream.SendStringAsync("user-data");
                await stream.SendStringAsync(certificateInformation.ToString());
                response = await stream.ReceiveStringAsync();
                if (response == "problem-while-adding-user")
                {
                    ServerResponseError(response);
                }
                else if (response != "user-added")
                {
                    UnknownCommandError("user-added", response);
                }
                response = await stream.ReceiveStringAsync();
                if (response != "certificate-file")
                {
                    UnknownCommandError("certificate-file", response);
                }
                Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
                await stream.ReceiveFileAsync(outputPath);
                await stream.SendStringAsync("everything-ok");
            }

            return true;
        }
Esempio n. 2
0
 public async static Task <bool> Connect(UserCertificate certificate)
 {
     try
     {
         using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port, certificate))
         {
             await stream.SendStringAsync("connect");
             await Authenticate(stream, new User(certificate));
         }
     }
     catch (AuthenticationError error)
     {
         return(false);
     }
     return(true);
 }
Esempio n. 3
0
        public async static Task <bool> CreateNewGroup(Group group, UserCertificate certificate)
        {
            string response;

            using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port, certificate))
            {
                await stream.SendStringAsync("login");
                await Authenticate(stream, new User(certificate));

                await stream.SendStringAsync("new-group");

                response = await stream.ReceiveStringAsync();

                if (response != "provide-group-name")
                {
                    UnknownCommandError("provide-group-name", response);
                }
                await stream.SendStringAsync("group-name");

                await stream.SendStringAsync(group.Name);

                response = await stream.ReceiveStringAsync();

                if (response != "provide-group-password")
                {
                    UnknownCommandError("provide-group-password", response);
                }
                await stream.SendStringAsync("group-password");

                await stream.SendStringAsync(group.Password);

                response = await stream.ReceiveStringAsync();

                if (response == "group-exists")
                {
                    ServerResponseError(response);
                }
                else if (response != "group-added")
                {
                    UnknownCommandError("group-added", response);
                }
            }

            return(true);
        }
Esempio n. 4
0
        public async static Task<bool> CreateNewGroup(Group group, UserCertificate certificate)
        {
            string response;

            using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port, certificate))
            {
                await stream.SendStringAsync("login");
                await Authenticate(stream, new User(certificate));
                await stream.SendStringAsync("new-group");
                response = await stream.ReceiveStringAsync();
                if (response != "provide-group-name")
                {
                    UnknownCommandError("provide-group-name", response);
                }
                await stream.SendStringAsync("group-name");
                await stream.SendStringAsync(group.Name);
                response = await stream.ReceiveStringAsync();
                if (response != "provide-group-password")
                {
                    UnknownCommandError("provide-group-password", response);
                }
                await stream.SendStringAsync("group-password");
                await stream.SendStringAsync(group.Password);
                response = await stream.ReceiveStringAsync();
                if (response == "group-exists")
                {
                    ServerResponseError(response);
                }
                else if (response != "group-added")
                {
                    UnknownCommandError("group-added", response);
                }
            }

            return true;

        }
Esempio n. 5
0
 public async static Task<bool> Connect(UserCertificate certificate)
 {
     try
     {
         using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port, certificate))
         {
             await stream.SendStringAsync("connect");
             await Authenticate(stream, new User(certificate));
         }
     }
     catch (AuthenticationError error)
     {
         return false;
     }
     return true;
 }
Esempio n. 6
0
        public async static Task <bool> CreateNewUser(CertificateInfo certificateInformation, string outputPath)
        {
            string response;

            using (SslClient stream = new SslClient(_configuration.IP, _configuration.Port))
            {
                await stream.SendStringAsync("new-user");

                response = await stream.ReceiveStringAsync();

                if (response != "provide-user-name")
                {
                    UnknownCommandError("provide-user-name", response);
                }
                await stream.SendStringAsync("user-name");

                await stream.SendStringAsync(certificateInformation.CommonName);

                response = await stream.ReceiveStringAsync();

                if (response != "provide-user-mail")
                {
                    UnknownCommandError("provide-user-mail", response);
                }
                await stream.SendStringAsync("user-mail");

                await stream.SendStringAsync(certificateInformation.Email);

                response = await stream.ReceiveStringAsync();

                if (response == "user-exists")
                {
                    ServerResponseError(response);
                }
                else if (response != "provide-user-data")
                {
                    UnknownCommandError("provide-user-data", response);
                }
                await stream.SendStringAsync("user-data");

                await stream.SendStringAsync(certificateInformation.ToString());

                response = await stream.ReceiveStringAsync();

                if (response == "problem-while-adding-user")
                {
                    ServerResponseError(response);
                }
                else if (response != "user-added")
                {
                    UnknownCommandError("user-added", response);
                }
                response = await stream.ReceiveStringAsync();

                if (response != "certificate-file")
                {
                    UnknownCommandError("certificate-file", response);
                }
                Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
                await stream.ReceiveFileAsync(outputPath);

                await stream.SendStringAsync("everything-ok");
            }

            return(true);
        }