Exemplo n.º 1
0
        private void BTNLogin_Click(object sender, EventArgs e)
        {
            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            msg.EncryptObject(new CheckPasswordMessage()
            {
                Username = TBUsername.Text, Password = TBPassword.Text
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is string && ((string)obj) == "OK")
            {
                return;
            }
            DialogResult = DialogResult.None;
            if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unable to verify username and password.", "Error");
            }
        }
Exemplo n.º 2
0
        private void BTNNext2_Click(object sender, EventArgs e)
        {
            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            msg.EncryptObject(new ResetPasswordMessage()
            {
                Username = TBResetUsername.Text, NewPassword = TBNewPassword.Text, ResetCode = TBResetCode.Text
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is string && ((string)obj) == "OK")
            {
                MessageBox.Show(this, "Password changed successfully", "Success");


                PReset.Visible = false;
                PLogin.Visible = true;
            }
            else if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
        }
Exemplo n.º 3
0
        private void BTNChangeEmail_Click(object sender, EventArgs e)
        {
            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            msg.EncryptObject(new ChangeEmailMessage()
            {
                Username = username, Password = ClearTextPassword, NewEmail = TBEmail.Text
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is string && ((string)obj) == "OK")
            {
                MessageBox.Show(this, "Email changed successfully", "Success");
            }
            else if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
        }
Exemplo n.º 4
0
        private void ManageUserForm_Load(object sender, EventArgs e)
        {
            LoginForm loginForm = new LoginForm();

            if (loginForm.ShowDialog(this) == DialogResult.Cancel)
            {
                Close();
                return;
            }
            username = loginForm.TBUsername.Text;
            password = new SecureString();
            foreach (char c in loginForm.TBPassword.Text)
            {
                password.AppendChar(c);
            }
            password.MakeReadOnly();
            loginForm.TBPassword.Text = "";

            LUsername.Text = username;


            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            byte[] AESKey = msg.EncryptObject(new GetUserDataMessage()
            {
                Username = username, Password = ClearTextPassword
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is EncryptedMessage)
            {
                msg          = (EncryptedMessage)obj;
                obj          = msg.DecryptObject(AESKey);
                data         = (GetUserDataReturnMessage)obj;
                TBEmail.Text = data.Email;
                foreach (string lib in data.Libraries.Keys)
                {
                    LBLibraries.Items.Add(lib);
                }
                return;
            }
            if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
            Close();
        }
Exemplo n.º 5
0
        private void BTNChangePassword_Click(object sender, EventArgs e)
        {
            if (TBNewPassword.Text == "")
            {
                MessageBox.Show(this, "You must specify a password.", "Error");
                return;
            }

            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            msg.EncryptObject(new ChangePasswordMessage()
            {
                Username = username, OldPassword = ClearTextPassword, NewPassword = TBNewPassword.Text
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is string && ((string)obj) == "OK")
            {
                MessageBox.Show(this, "Password changed successfully", "Success");
                password.Clear();
                password.Dispose();
                password = new SecureString();
                foreach (char c in TBNewPassword.Text)
                {
                    password.AppendChar(c);
                }
                password.MakeReadOnly();
            }
            else if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
            TBNewPassword.Text = "";
        }
Exemplo n.º 6
0
        private void BTNDeleteLibrary_Click(object sender, EventArgs e)
        {
            if (LBLibraries.SelectedIndex == -1 || CBLibVersion.SelectedIndex == -1)
            {
                return;
            }
            string libName    = (string)LBLibraries.SelectedItem;
            string libVersion = (string)CBLibVersion.SelectedItem;

            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            msg.EncryptObject(new DeleteLibraryMessage()
            {
                Username   = username,
                Password   = ClearTextPassword,
                LibName    = libName,
                LibVersion = libVersion
            },
                              Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is string && ((string)obj) == "OK")
            {
                MessageBox.Show(this, "Library deleted successfully", "Success");
                LBLibraries.Items.RemoveAt(LBLibraries.SelectedIndex);
            }
            else if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
        }