Esempio n. 1
0
        private async void provisionStartBtn_Click(object sender, RoutedEventArgs e)
        {
            bool backupSecret = false;

            if (ProvisionTabBackupCheckBox.IsChecked.HasValue && ProvisionTabBackupCheckBox.IsChecked.Value)
            {
                if (string.IsNullOrWhiteSpace(ProvisionConfigPassphraseTextbox.Password))
                {
                    await this.ShowMessageAsync("Invalid passphrase.", "You must enter a passphrase to protect your secret key!");

                    return;
                }
                if (ProvisionConfigPassphraseTextbox.Password != ProvisionConfigPassphraseConfirmTextbox.Password)
                {
                    await this.ShowMessageAsync("Invalid passphrase.", "Entered passphrases are do not match.");

                    return;
                }
                backupSecret = true;
            }

            var msgResult = await this.ShowMessageAsync(string.Empty, "Yubikey slots 1 and 2 will be erased!\nContinue?", MessageDialogStyle.AffirmativeAndNegative);

            if (msgResult == MessageDialogResult.Affirmative)
            {
                statusBox.Items.Clear();
                provisionStartBtn.IsEnabled = false;
                YubikeyConfigurator ykConfigurator = new YubikeyConfigurator();
                ykConfigurator.WriteError   = WriteError;
                ykConfigurator.WriteInfo    = WriteInfo;
                ykConfigurator.WriteSuccess = WriteSuccess;
                ykConfigurator.WriteWarning = WriteWarning;
                if (backupSecret == true)
                {
                    await Task.Run(() =>
                    {
                        ykConfigurator.Provision(ProvisionConfigPassphraseTextbox.Password, true);
                    });
                }
                else
                {
                    await Task.Run(() =>
                    {
                        ykConfigurator.Provision(true);
                    });
                }
                provisionUploadBtn.IsEnabled = true;
                provisionStartBtn.IsEnabled  = true;
            }
        }
Esempio n. 2
0
        private static void DoProvisioning(object invokedVerbInstance)
        {
            var provisionSubOptions = invokedVerbInstance as ProvisionSubOptions;

            if (provisionSubOptions == null)
            {
                WriteError("Error parsing the arguments");
                return;
            }

            WriteWarning("Yubikey slots 1 and 2 will be erased! Type 'continue' to proceed.");
            if (!Console.ReadLine().Equals("continue", StringComparison.InvariantCultureIgnoreCase))
            {
                return;
            }

            YubikeyConfigurator ykConfigurator = new YubikeyConfigurator();

            ykConfigurator.WriteError   = WriteError;
            ykConfigurator.WriteInfo    = WriteInfo;
            ykConfigurator.WriteSuccess = WriteSuccess;
            ykConfigurator.WriteWarning = WriteWarning;
            ykConfigurator.Provision(true);
        }