Exemple #1
0
 public DiscDataStore(
     TenantManager tenantManager,
     PathUtils pathUtils,
     EmailValidationKeyProvider emailValidationKeyProvider,
     IOptionsMonitor <ILog> options,
     EncryptionSettingsHelper encryptionSettingsHelper,
     EncryptionFactory encryptionFactory)
     : base(tenantManager, pathUtils, emailValidationKeyProvider, options)
 {
     EncryptionSettingsHelper = encryptionSettingsHelper;
     EncryptionFactory        = encryptionFactory;
 }
 public DiscDataStore(
     TempStream tempStream,
     TenantManager tenantManager,
     PathUtils pathUtils,
     EmailValidationKeyProvider emailValidationKeyProvider,
     IHttpContextAccessor httpContextAccessor,
     IOptionsMonitor <ILog> options,
     EncryptionSettingsHelper encryptionSettingsHelper,
     EncryptionFactory encryptionFactory)
     : base(tempStream, tenantManager, pathUtils, emailValidationKeyProvider, httpContextAccessor, options)
 {
     EncryptionSettingsHelper = encryptionSettingsHelper;
     EncryptionFactory        = encryptionFactory;
 }
 public StorageFactory(
     StorageFactoryListener storageFactoryListener,
     StorageFactoryConfig storageFactoryConfig,
     SettingsManager settingsManager,
     StorageSettingsHelper storageSettingsHelper,
     TenantManager tenantManager,
     CoreBaseSettings coreBaseSettings,
     PathUtils pathUtils,
     EmailValidationKeyProvider emailValidationKeyProvider,
     IOptionsMonitor <ILog> options,
     EncryptionSettingsHelper encryptionSettingsHelper,
     EncryptionFactory encryptionFactory) :
     this(storageFactoryListener, storageFactoryConfig, settingsManager, storageSettingsHelper, tenantManager, coreBaseSettings, pathUtils, emailValidationKeyProvider, options, null, encryptionSettingsHelper, encryptionFactory)
 {
 }
Exemple #4
0
        public override IDataStore Configure(string tenant, Handler handlerConfig, Module moduleConfig, IDictionary <string, string> props)
        {
            _tenant = tenant;
            //Fill map path
            _modulename = moduleConfig.Name;
            _dataList   = new DataList(moduleConfig);
            foreach (var domain in moduleConfig.Domain)
            {
                _mappedPaths.Add(domain.Name, new MappedPath(PathUtils, tenant, moduleConfig.AppendTenantId, domain.Path, handlerConfig.GetProperties()));
            }
            //Add default
            _mappedPaths.Add(string.Empty, new MappedPath(PathUtils, tenant, moduleConfig.AppendTenantId, PathUtils.Normalize(moduleConfig.Path), handlerConfig.GetProperties()));

            //Make expires
            _domainsExpires =
                moduleConfig.Domain.Where(x => x.Expires != TimeSpan.Zero).
                ToDictionary(x => x.Name,
                             y => y.Expires);
            _domainsExpires.Add(string.Empty, moduleConfig.Expires);
            var settings = moduleConfig.DisabledEncryption ? new EncryptionSettings() : EncryptionSettingsHelper.Load();

            Crypt = EncryptionFactory.GetCrypt(moduleConfig.Name, settings);

            return(this);
        }
Exemple #5
0
        private static byte[] DecryptData(byte[] encryptedData)
        {
            if (encryptedData == null)
            {
                return(null);
            }

            try
            {
                XDocument xd;

                using (var stream = new MemoryStream(encryptedData))
                {
                    using (XmlReader xmlReader = XmlReader.Create(stream))
                    {
                        xd = XDocument.Load(xmlReader);
                    }
                }

                XElement root = xd.Root;

                if (root == null)
                {
                    return(null);
                }

                var crVersion = (int?)root.Attribute("CrVersion");

                if (!crVersion.HasValue)
                {
                    return(null);
                }

                switch (crVersion.Value)
                {
                case (int)CryptoVersion.CrV0AsymRaw1:
                    return(Asymmetric.Decrypt(encryptedData));

                case (int)CryptoVersion.CrV1SymRaw1:
                case (int)CryptoVersion.CrV4SymRaw2:
                case (int)CryptoVersion.CrV5SymRaw3:
                    return(EncryptionSymmHelper.Decrypt(encryptedData));

                case (int)CryptoVersion.CrV2SymSettings1:
                case (int)CryptoVersion.CrV6SymSettings2:
                    return(EncryptionSettingsHelper.Decrypt(encryptedData));

                case (int)CryptoVersion.CrV3AsymRaw2:
                    return(Asymmetric.Decrypt(encryptedData));

                default:
                    return(null);
                }
            }
            catch (Exception e)
            {
                string message = $"Decryption failed \n {e.Message} \n {e.InnerException}";
                MessageBox.Show(message, "Decryption failed");
            }

            return(null);
        }