internal string EncryptSection (string clearXml, ProtectedConfigurationProvider protectionProvider)
		{
			XmlDocument doc = new ConfigurationXmlDocument ();
			doc.LoadXml (clearXml);

			XmlNode encryptedNode = protectionProvider.Encrypt (doc.DocumentElement);

			return encryptedNode.OuterXml;
		}
        internal string EncryptSection(string clearXml, ProtectedConfigurationProvider protectionProvider)
        {
            XmlDocument doc = new ConfigurationXmlDocument();

            doc.LoadXml(clearXml);

            XmlNode encryptedNode = protectionProvider.Encrypt(doc.DocumentElement);

            return(encryptedNode.OuterXml);
        }
Esempio n. 3
0
        protected internal virtual object GetRuntimeObject()
        {
            if (SectionHandler != null)
            {
                ConfigurationSection parentSection = sectionInformation != null?sectionInformation.GetParentSection() : null;

                object parent = parentSection != null?parentSection.GetRuntimeObject() : null;

                if (RawXml == null)
                {
                    return(parent);
                }

                try
                {
                    // This code requires some re-thinking...
                    XmlReader reader = new ConfigXmlTextReader(
                        new StringReader(RawXml),
                        Configuration.FilePath);

                    DoDeserializeSection(reader);

                    if (!String.IsNullOrEmpty(SectionInformation.ConfigSource))
                    {
                        string fileDir = SectionInformation.ConfigFilePath;
                        if (!String.IsNullOrEmpty(fileDir))
                        {
                            fileDir = Path.GetDirectoryName(fileDir);
                        }
                        else
                        {
                            fileDir = String.Empty;
                        }

                        string path = Path.Combine(fileDir, SectionInformation.ConfigSource);
                        if (File.Exists(path))
                        {
                            RawXml = File.ReadAllText(path);
                            SectionInformation.SetRawXml(RawXml);
                        }
                    }
                }
                catch
                {
                    // ignore, it can fail - we deserialize only in order to get
                    // the configSource attribute
                }
                XmlDocument doc = new ConfigurationXmlDocument();
                doc.LoadXml(RawXml);
                return(SectionHandler.Create(parent, ConfigContext, doc.DocumentElement));
            }
            return(this);
        }
		public virtual object GetRuntimeObject ()
		{
			if (SectionHandler != null) {
				ConfigurationSection parentSection = sectionInformation != null ? sectionInformation.GetParentSection () : null;
				object parent = parentSection != null ? parentSection.GetRuntimeObject () : null;
				if (RawXml == null)
					return parent;
				
				try {
					// This code requires some re-thinking...
					XmlReader reader = new ConfigXmlTextReader (
						new StringReader (RawXml),
						Configuration.FilePath);

					DoDeserializeSection (reader);
					
					if (!String.IsNullOrEmpty (SectionInformation.ConfigSource)) {
						string fileDir = SectionInformation.ConfigFilePath;
						if (!String.IsNullOrEmpty (fileDir))
							fileDir = Path.GetDirectoryName (fileDir);
						else
							fileDir = String.Empty;
					
						string path = Path.Combine (fileDir, SectionInformation.ConfigSource);
						if (File.Exists (path)) {
							RawXml = File.ReadAllText (path);
							SectionInformation.SetRawXml (RawXml);
						}
					}
				} catch {
					// ignore, it can fail - we deserialize only in order to get
					// the configSource attribute
				}
				XmlDocument doc = new ConfigurationXmlDocument ();
				doc.LoadXml (RawXml);
				return SectionHandler.Create (parent, ConfigContext, doc.DocumentElement);
			}
			return this;
		}