private static void SetPassword(Session session, Configuration config, DynamicDnsUpdaterClientType dnsClientType)
{
string dnsClientPassword = session.CustomActionData["DNSCLIENTPASSWORD"];
if (!string.IsNullOrWhiteSpace(dnsClientPassword))
{
bool encryptionEnabled = Convert.ToBoolean(config.AppSettings.Settings["EncryptionEnabled"].Value);
string password = string.Empty;
if (encryptionEnabled)
{
var encryptionService = new EncryptionService(Convert.FromBase64String(Common.Constants.EncryptionKey),
Convert.FromBase64String(Common.Constants.InitializationVector));
password = encryptionService.EncryptToBase64String(dnsClientPassword);
}
else
{
password = dnsClientPassword;
}
switch (dnsClientType)
{
case DynamicDnsUpdaterClientType.DnsOMatic:
config.AppSettings.Settings.Remove("DnsOMaticPassword");
config.AppSettings.Settings.Add("DnsOMaticPassword", password);
break;
case DynamicDnsUpdaterClientType.Dnsimple:
config.AppSettings.Settings.Remove("DnsimplePassword");
config.AppSettings.Settings.Add("DnsimplePassword", password);
break;
default:
break;
}
}
}