Exemplo n.º 1
0
        private async Task <bool> TokenSecretFirstTimeSetup()
        {
            var noTokenMessage = new MessageDialog(this.resourceLoader.GetString("Message_NoTokenSecret"));
            await noTokenMessage.ShowAsync();

            var passphraseDialog = new RetrieveTokenSecretDialog();
            ContentDialogResult passphraseDialogResult = await passphraseDialog.ShowAsync();

            if (passphraseDialogResult == ContentDialogResult.Primary)
            {
                await ToggleProgressBar(true);

                var tokenStoredSecret = await client.GetTokenStoredSecret(passphraseDialog.TokenGeneratedOTP);

                TFTokenData tokenSecret = new TFTokenData();
                tokenSecret.SerialNumber = tokenStoredSecret.TokenSerialNumber;
                await Task.Run(() =>
                {
                    tokenSecret.SecretKey = engine.DecryptTokenSecret(tokenStoredSecret.TFKDEncryptedSecret, tokenStoredSecret.TFKDEncryptionSalt, passphraseDialog.Passphrase);
                });

                SettingsHelper.SaveSetting(Consts.SETTINGS_TOKEN_SECRET_KEY, tokenSecret);
                await ToggleProgressBar(false);

                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        private async void GetKeyButton_Click(object sender, RoutedEventArgs e)
        {
            var otpInput = await this.ShowInputAsync("Yubikey OTP required", "Please touch your Yubikey to generate an OTP");

            if (string.IsNullOrWhiteSpace(otpInput))
            {
                return;
            }

            YubiCryptKey storedKey = await _client.GetTokenStoredSecret(otpInput);

            debugMessage.Text = "Secret: " + storedKey.TFKDEncryptedSecret + Environment.NewLine + "Salt: " + storedKey.TFKDEncryptionSalt + Environment.NewLine + "Serial #: " + storedKey.TokenSerialNumber;;

            var passphraseInput = await this.ShowInputAsync("Passphrase", "Please enter the passphrase");

            if (string.IsNullOrWhiteSpace(passphraseInput))
            {
                return;
            }

            var secretkey          = _engine.DecryptTokenSecret(storedKey.TFKDEncryptedSecret, storedKey.TFKDEncryptionSalt, passphraseInput);
            var secretKeyHexString = BitConverter.ToString(secretkey).Replace("-", "").ToLowerInvariant();
        }