private void HandleManifest(Manifest man, bool IsRefreshing = false)
{
string passKey = null;
if (man.Entries.Count == 0)
{
passKey = man.PromptSetupPassKey("Please enter an encryption passkey. Leave blank or hit cancel to not encrypt (VERY INSECURE).");
}
else if (man.Entries.Count > 0 && man.Encrypted)
{
bool passKeyValid = false;
while (!passKeyValid)
{
InputForm passKeyForm = new InputForm("Please enter your current encryption passkey.");
passKeyForm.ShowDialog();
if (!passKeyForm.Canceled)
{
passKey = passKeyForm.txtBox.Text;
passKeyValid = man.VerifyPasskey(passKey);
if (!passKeyValid)
{
MessageBox.Show("That passkey is invalid. Please enter the same passkey you used for your other accounts.");
}
}
else
{
this.Close();
return;
}
}
}
man.SaveAccount(androidAccount, passKey != null, passKey);
if (IsRefreshing)
{
MessageBox.Show("Your login session was refreshed.");
}
else
{
MessageBox.Show("Mobile authenticator successfully linked. Please write down your revocation code: " + androidAccount.RevocationCode);
}
this.Close();
}