private void btnDecrypt_Click(object sender, EventArgs e) { if (_currentConfiguration == null) { return; } try { string res = CmdHelper.Shell(CmdHelper.GetAspNetRegIisPath(), $"-pdf {cbxConfigSections.SelectedValue} {Path.GetDirectoryName(_currentFileName)}"); txtOutput.Text += res + Environment.NewLine; } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } }
private void btnEncrypt_Click(object sender, EventArgs e) { if (_currentConfiguration == null) { return; } try { XElement xdoc = XElement.Load(_currentFileName); var configProtectedDataSection = xdoc.Elements().Where(x => x.Name == "configProtectedData"); var providerName = configProtectedDataSection.Descendants("add").First().Attribute("name").Value; var keyContainerName = configProtectedDataSection.Descendants("add").First().Attribute("keyContainerName").Value; string res = CmdHelper.Shell(CmdHelper.GetAspNetRegIisPath(), $"-pef {cbxConfigSections.SelectedValue} {Path.GetDirectoryName(_currentFileName)} -prov {providerName}"); txtOutput.Text += res + Environment.NewLine; //ConfigurationSection currSection = currConf.ConnectionStrings; //ConfigurationSection currSection = _currentConfiguration.GetSection(cbxConfigSections.SelectedItem.ToString()); //string keyContainerName = txtKeyContainerName.Text; //if (string.IsNullOrEmpty(keyContainerName)) // keyContainerName = "RsaProtectedConfigurationProvider"; //else //{ // //Create custom provider // ProtectedConfigurationSection pdSec = _currentConfiguration.GetSection("configProtectedData") as ProtectedConfigurationSection; // if (pdSec == null) // { // pdSec = new ProtectedConfigurationSection(); // _currentConfiguration.Sections.Add("configProtectedData", pdSec); // } // bool found = false; // foreach (ProviderSettings p in pdSec.Providers) // if (p.Name == keyContainerName) found = true; // if (!found) // { // ProviderSettings ps = new ProviderSettings // { // Name = keyContainerName, // Type = "System.Configuration.RsaProtectedConfigurationProvider" // }; // ps.Parameters.Add("keyContainerName", keyContainerName); // ps.Parameters.Add("useMachineContainer", "true"); // pdSec.Providers.Add(ps); // //Note: A new key container will be created silently, if the key container name doesn't exist. // // But the auto created key container is not exportable and inappropriate for shared key among // // web farm servers. Please use RSA key manager to create exportable key container for web farm // // scenarios. // } //} //if (btnExecute.Text == "Encrypt") // currSection.SectionInformation.ProtectSection(keyContainerName); //else // currSection.SectionInformation.UnprotectSection(); //_currentConfiguration.Save(ConfigurationSaveMode.Full); wbEditor.Navigate(_currentFileName); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } }