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);
            }
        }
Beispiel #2
0
        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;
                }
            }
        }
Beispiel #3
0
        private static async Task ExportEntry(DataSubjectSharer dataSubjectSharer)
        {
            List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory();

            workHistory.ForEach(entry =>
                                Console.WriteLine("ELEMENT:" + (workHistory.IndexOf(entry) + 1) + ":\n" + entry.ToPrettyString())
                                );

            Console.WriteLine("Select Which entry you would like to export");

            int i = Int32.Parse(Console.ReadLine()) - 1;

            Console.WriteLine("Enter file path");

            Utils.ExportToJsonFile(Console.ReadLine(), workHistory[i]);
        }
Beispiel #4
0
        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;
                }
            }
        }
Beispiel #5
0
        private static async Task CreateWorkHistoryBundle(DataSubjectSharer dataSubjectSharer)
        {
            DataBundle   dataBundle  = new DataBundle();
            List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory();

            workHistory.ForEach(i =>
                                Console.WriteLine("ELEMENT:" + (workHistory.IndexOf(i) + 1) + ":\n" + i.ToPrettyString())
                                );


            Console.WriteLine("Please enter index for each entry you would like to add After type done");

            string input;

            do
            {
                input = Console.ReadLine();
                try
                {
                    int i = Int32.Parse(input) - 1;
                    dataBundle.WorkHistory.Add(workHistory[i]);
                }
                catch (Exception e)
                {
                }
            } while (input != "done");

            Console.WriteLine("Please enter the file name for each referee to add. After enter done");

            while ((input = Console.ReadLine()) != "done")
            {
                dataBundle.Referees.Add(await Entry.ReadEntry(input));
            }

            Console.WriteLine("Enter file name");
            input = Console.ReadLine();

            Utils.ExportToJsonFile(input, dataBundle);
        }