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; }
public NewUserForm() { InitializeComponent(); NewUserInfo = new CertificateInfo() { Country = countryTextBox.Text, State = stateTextBox.Text, City = cityTextBox.Text, Organization = organizationTextBox.Text, Unit = unitTextBox.Text }; }