public override void Save(object value, string sectionName, string fileName) { XmlNode xmlNode = this.Serialize(value); XmlDocument document = new XmlDocument(); document.AppendChild(document.ImportNode(xmlNode,true)); // Encrypt xml EncryptXml enc = new EncryptXml(document); enc.AddKeyNameMapping("db", ReadServerEncryptionKey()); XmlNodeList list = document.SelectNodes("//Password"); foreach ( XmlNode n in list ) { XmlElement el = (XmlElement)n; EncryptedData data = enc.Encrypt(el, "db"); enc.ReplaceElement(el, data); } XmlTextWriter writer = new XmlTextWriter(fileName, null); writer.Formatting = Formatting.Indented; document.WriteTo(writer); writer.Flush(); writer.Close(); }
/// <summary> /// Encrypts the scripting application. /// </summary> /// <returns> A encrypted XML string.</returns> public string Encrypt() { try { XmlDocument document = new XmlDocument(); document.LoadXml(this.ToXml()); // Encrypt xml EncryptXml enc = new EncryptXml(document); enc.AddKeyNameMapping("scriptingApplication", enc.CreateMachineStoreKey("Ecyware.ScrAppEncryption")); XmlElement el = (XmlElement)document.FirstChild; EncryptedData data = enc.Encrypt(el, "scriptingApplication"); enc.ReplaceElement(el, data); return document.DocumentElement.OuterXml; } catch { throw; } }
/// <summary> /// Saves the scripting application. /// </summary> public void Save() { try { XmlDocument document = new XmlDocument(); document.LoadXml(this.ToXml()); // Encrypt xml EncryptXml enc = new EncryptXml(document); enc.AddKeyNameMapping("slcreds", enc.CreateMachineStoreKey("Ecyware.SecLogCreds")); XmlElement el = (XmlElement)document.FirstChild; EncryptedData data = enc.Encrypt(el, "slcreds"); enc.ReplaceElement(el, data); document.Save(location); } catch { throw; } }
/// <summary> /// Encrypts the account message. /// </summary> /// <param name="message"> The AccountMessage.</param> /// <returns> A encrypted XML String.</returns> private string EncryptAccountMessage(AccountMessage message) { try { AccountMessageSerializer serializer = new AccountMessageSerializer(); XmlNode xmlNode = serializer.Serialize(message); XmlDocument document = new XmlDocument(); document.AppendChild(document.ImportNode(xmlNode,true)); // Encrypt xml EcyXmlEncryption.EncryptXml enc = new EcyXmlEncryption.EncryptXml(document); enc.AddKeyNameMapping("accountMessage", ReadKey()); XmlElement el = (XmlElement)document.SelectSingleNode("/AccountMessage"); EcyXmlEncryption.EncryptedData data = enc.Encrypt(el, "accountMessage"); enc.ReplaceElement(el, data); return document.DocumentElement.OuterXml; } catch { throw; } }