in Vault/Explorer/SecretDialog.cs [67:100]
public SecretDialog(ISession session, FileInfo fi) : this(session)
{
uxTextBoxName.Text = Utils.ConvertToValidSecretName(Path.GetFileNameWithoutExtension(fi.Name));
PropertyObject.ContentType = ContentTypeUtils.FromExtension(fi.Extension);
string password = null;
switch (PropertyObject.ContentType)
{
case ContentType.Certificate:
break;
case ContentType.Pkcs12:
case ContentType.Pkcs12Base64:
var pwdDlg = new PasswordDialog();
if (pwdDlg.ShowDialog() != DialogResult.OK)
{
DialogResult = DialogResult.Cancel;
return;
}
password = pwdDlg.Password;
break;
case ContentType.KeyVaultSecret:
var kvsf = Utils.LoadFromJsonFile<KeyVaultSecretFile>(fi.FullName);
SecretBundle s = kvsf.Deserialize();
uxPropertyGridSecret.SelectedObject = PropertyObject = new PropertyObjectSecret(s, SecretObject_PropertyChanged);
uxTextBoxName.Text = s.SecretIdentifier?.Name;
uxTextBoxValue.Text = s.Value;
return;
default:
uxTextBoxValue.Text = File.ReadAllText(fi.FullName);
return;
}
// Certificate flow
RefreshCertificate(new CertificateValueObject(fi, password));
AutoDetectSecretKind();
}