Exemplo n.º 1
0
        public static async Task <String> GetPasswords(CryptographicKey AesKey)
        {
            CryptographicKey k = await GetRasKey(AesKey);

            String R = "";

            try
            {
                int a = int.Parse(await StorageInterface.ReadFromRoamingFolder("PWM/INDEX"));
                for (int i = 0; i < a; i++)
                {
                    IBuffer crypitic = await StorageInterface.ReadBufferFromRoamingFolder("PWM/Passwords" + i);

                    IBuffer plain = DecryptRsa(k, crypitic);
                    String  X     = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, plain);
                    if (X == null)
                    {
                        X = "";
                    }
                    R += X;
                }
            }
            catch (Exception e)
            {
                e.PrintStackTrace();
                return("");
            }
            return(R);
        }
        private async Task Logon()
        {
            Key = CryptoInterface.GestAesKey(LoginPasswordBox.Password);
            LoginPasswordBox.Password = "";
            IBuffer A = await StorageInterface.ReadBufferFromRoamingFolder("PWM/A");

            IBuffer B = await StorageInterface.ReadBufferFromRoamingFolder("PWM/B");

            //Debug.WriteLine("Up to here I believe this to be OK");
            //Debug.WriteLine(LoginPasswordBox.Password.GetHexString());
            //Debug.WriteLine(Key);
            IBuffer EA = CryptoInterface.EncryptAes(Key, A);

            //Debug.WriteLine("Now this could be unreachable code");
            if (!CryptographicBuffer.Compare(B, EA))//Falsches Passwort, da die testfiles nicht zampassen
            {
                Debug.WriteLine("FALSCHES PASSWORT");
                await UserInteraction.ShowDialogAsync("INFORMATION", "Falsches Passwort!");

                return;
            }
            Debug.WriteLine("HAVE DONE SETUP WITH PASSWORD");
            MODE_REGULAR.Visibility = MODE_REGULAR_BAR.Visibility = Visibility.Visible;
            MODE_LOGIN.Visibility   = MODE_SETUP.Visibility = Visibility.Collapsed;
            await Refresh();
        }
Exemplo n.º 3
0
 private static async Task <CryptographicKey> GetRasKey(CryptographicKey AesKey)
 {
     return(AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1).ImportKeyPair(DecryptAes(AesKey, await StorageInterface.ReadBufferFromRoamingFolder("PWM/RsaKey"))));
 }