private async void LoadDataClick(object sender, RoutedEventArgs e) { try { RSACryptoServiceProvider rsa; WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { RSACryptoServiceProviderExtensions.FromXmlString(rsa, File.ReadAllText(_xmlStringPath)); DataSubjectSharer dataSubjectSharer = new DataSubjectSharer(); dataSubjectSharer.WorkHistroySmartContract = workHistroySmartContract; dataSubjectSharer.RSA = rsa; workHistroySmartContract.LoadContract(AddressEntry.Text); string decryptedData = await dataSubjectSharer.DecryptDataFromContract(); DataOutput.Text = decryptedData; } finally { rsa.PersistKeyInCsp = false; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static async Task BenchmarkWorkHistoryBundleCreation(Queue <string> inputQue) { WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); RSACryptoServiceProvider rsa; DataSubjectSharer dataSubjectSharer = new DataSubjectSharer { WorkHistroySmartContract = workHistroySmartContract, }; using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { dataSubjectSharer.RSA = rsa; string xmlString = new StreamReader("privatePaul.xml").ReadToEnd(); RSACryptoServiceProviderExtensions.FromXmlString(rsa, xmlString); DataBundle dataBundle = new DataBundle(); List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory(); string input; do { input = inputQue.Dequeue(); try { int i = Int32.Parse(input) - 1; dataBundle.WorkHistory.Add(workHistory[i]); } catch (Exception e) { } } while (input != "done"); while ((input = inputQue.Dequeue()) != "done") { dataBundle.Referees.Add(await Entry.ReadEntry(input)); } input = inputQue.Dequeue(); Utils.ExportToJsonFile(input, dataBundle); } finally { rsa.PersistKeyInCsp = false; } } }
public async Task BindData() { try { _dataValid = true; _sendersValid = true; listView.Items.Clear(); WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); DataConsumer dataConsumer = new DataConsumer { WorkHistroySmartContract = workHistroySmartContract }; foreach (Entry entry in Entries) { VerfiyResult verfiyResult = await dataConsumer.Verfiy(entry); VerfiyEntry verfiyEntry = new VerfiyEntry(entry) { SenderValid = verfiyResult.Sender, DataValid = verfiyResult.Data }; if (!verfiyEntry.DataValid) { _dataValid = false; } if (!verfiyEntry.SenderValid) { _sendersValid = false; } listView.Items.Add(verfiyEntry); } } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private static async Task EmpMenu(string[] args) { WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); RSACryptoServiceProvider rsa; DataSubjectSharer dataSubjectSharer = new DataSubjectSharer { WorkHistroySmartContract = workHistroySmartContract, }; using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { dataSubjectSharer.RSA = rsa; string xmlString = new StreamReader(args[1]).ReadToEnd(); RSACryptoServiceProviderExtensions.FromXmlString(rsa, xmlString); switch (args[0].ToLower()) { case "add": dataSubjectSharer.AddAddress(args[2]); dataSubjectSharer.SaveChangesToAddresses(); break; case "craete": await CreateWorkHistoryBundle(dataSubjectSharer); break; case "export": await ExportEntry(dataSubjectSharer); break; } } finally { rsa.PersistKeyInCsp = false; } } }
private async void CreateClick(object sender, RoutedEventArgs e) { DataEntryPannel.Effect = _blurEffect; ProgressBox.Visibility = Visibility.Visible; ProgressEntry.Text = "Create Entry..."; Entry entry = CreateAndPopluateEntry(); ProgressEntry.Text = "Creating RSA..."; string senderAddress = EthereumEntry.Text; // 0x25922333d41f0f3f40be629f81af6983634d0fb6 string password = GethEntry.Password; string smartContractAddress; WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); RSACryptoServiceProvider rsa; using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { workHistroySmartContract.RSA = rsa; rsa.FromXmlString(File.ReadAllText(_xmlStringPath)); DataProdcuer dataPrdocuer = new DataProdcuer { WorkHistroySmartContract = workHistroySmartContract, RSA = rsa }; ProgressEntry.Text = "Waiting for address..."; smartContractAddress = await dataPrdocuer.PublishWorkHistoryAsync(entry.OnChainString(), senderAddress, password); entry.Address = smartContractAddress; ProgressEntry.Text = "Saving file..."; SaveFileDialog saveFileDialog = new SaveFileDialog(); if (saveFileDialog.ShowDialog() == true) { using (StreamWriter file = File.CreateText(saveFileDialog.FileName)) { JsonSerializer serializer = new JsonSerializer(); //serialize object directly into file stream serializer.Serialize(file, entry); DomainEntry.Text = ""; DeparmentEntry.Text = ""; PostionEntry.Text = ""; NameEntry.Text = ""; ExtraInfoEntry.Text = ""; EthereumEntry.Text = ""; GethEntry.Password = ""; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { rsa.PersistKeyInCsp = false; } ProgressBox.Visibility = Visibility.Hidden; DataEntryPannel.Effect = null; } }