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(); }