protected virtual Stream GetOutputStream(Rijndael alg, AppServerConfigOptions options, string configFilePath)
        {
            Stream outStream = new FileStream(configFilePath, FileMode.CreateNew);

            switch (options)
            {
                case AppServerConfigOptions.FileEncrypted:
                    outStream = new CryptoStream(outStream, alg.CreateEncryptor(), CryptoStreamMode.Write);
                    outStream = new GZipStream(outStream, CompressionMode.Compress);
                    break;
            }

            return outStream;
        }
 /// <summary>
 /// This constructor contains the necessary settings to set the configuration.
 /// </summary>
 /// <param name="ConfigOptions">The configuration options.</param>
 /// <param name="ConfigName">The configuration name.</param>
 public XimuraAppServerConfigurationAttribute(AppServerConfigOptions ConfigOptions, string ConfigName)
 {
     m_ConfigOpt = ConfigOptions;
     m_ConfigName = ConfigName;
 }
        protected virtual void ConfigurationWriteCompletionBinary(Rijndael alg, AppServerConfigOptions options, int size,
            string configFileConfirmPath, Stream outgoing, Guid ApplicationID)
        {
            byte[] data = null;

            switch (options)
            {
                case AppServerConfigOptions.FileDigitallySigned:
                    data = GenerateHash(outgoing);
                    break;
                case AppServerConfigOptions.FileEncrypted:
                    byte[] buffer = GenerateCryptoBlob(alg, size);
                    if (buffer != null)
                    {
                        data = ProtectedData.Protect(buffer, ApplicationID.ToByteArray(), DataProtectionScope.LocalMachine);
                    }
                    break;
            }

            if (data != null)
                File.WriteAllBytes(configFileConfirmPath, data);
        }
 /// <summary>
 /// This constructor contains the necessary settings to set the configuration.
 /// </summary>
 /// <param name="ConfigOptions">The configuration options.</param>
 /// <param name="ConfigName">The configuration name.</param>
 public XimuraAppServerConfigCommandAttribute(AppServerConfigOptions ConfigOptions, string ConfigName) : base(ConfigOptions, ConfigName) { }