Exemple #1
0
 public override ICryptKey Clone(CryptAction crypt)
 {
     return(new AESCryptKey(Cryptography.AES.Clone(Aes))
     {
         Crypt = crypt
     });
 }
Exemple #2
0
 protected ConfigPropertyBase(Config config, String key, CryptAction crypt, Byte[] cryptKey, Boolean caching, params String[] sections)
 {
     Config   = config;
     Key      = key;
     Crypt    = crypt;
     CryptKey = cryptKey;
     Sections = sections;
     Caching  = caching;
 }
Exemple #3
0
        public String GetOrSetValue(String key, String defaultValue, CryptAction crypt, ICryptKey cryptKey, IEnumerable <String> sections)
        {
            sections = sections.Materialize();
            String value = GetValue(key, sections);

            if (GetOrSetValueInternalCrypt(value, crypt, cryptKey, out String result))
            {
                return(result);
            }

            SetValue(key, defaultValue, cryptKey, sections);
            return(defaultValue);
        }
Exemple #4
0
        public Boolean GetOrSetValueInternalCrypt(String value, CryptAction crypt, ICryptKey cryptKey, out String result)
        {
            cryptKey ??= Crypt;

            if (value is null)
            {
                result = default;
                return(false);
            }

            result = crypt.HasFlag(CryptAction.Decrypt) ? cryptKey.Decrypt(value) ?? value : value;
            return(true);
        }
Exemple #5
0
        public async Task <String> GetOrSetValueAsync(String key, String defaultValue, CryptAction crypt, ICryptKey cryptKey, IEnumerable <String> sections, CancellationToken token)
        {
            sections = sections.Materialize();
            String value = await GetValueAsync(key, sections, token).ConfigureAwait(false);

            if (GetOrSetValueInternalCrypt(value, crypt, cryptKey, out String result))
            {
                return(result);
            }

            await SetValueAsync(key, defaultValue, cryptKey, sections, token).ConfigureAwait(false);

            return(defaultValue);
        }
Exemple #6
0
 public Task <String> GetOrSetValueAsync(String key, String defaultValue, CryptAction crypt, ICryptKey cryptKey, IEnumerable <String> sections)
 {
     return(GetOrSetValueAsync(key, defaultValue, crypt, cryptKey, sections, CancellationToken.None));
 }
Exemple #7
0
 public Task <String> GetOrSetValueAsync(String key, String defaultValue, CryptAction crypt, IEnumerable <String> sections, CancellationToken token)
 {
     return(GetOrSetValueAsync(key, defaultValue, crypt, null, sections, token));
 }
Exemple #8
0
 public String GetOrSetValue(String key, String defaultValue, CryptAction crypt, IEnumerable <String> sections)
 {
     return(GetOrSetValue(key, defaultValue, crypt, null, sections));
 }
Exemple #9
0
 public Task <String> GetOrSetValueAsync(String key, String defaultValue, CryptAction crypt, ICryptKey cryptKey, IEnumerable <String> sections)
 {
     return(Config.GetOrSetValueAsync(key, defaultValue, crypt, cryptKey, sections));
 }
Exemple #10
0
        internal ConfigProperty(Config config, String key, T defaultValue, Func <T, Boolean> validate, CryptAction crypt, Byte[] cryptKey, Boolean caching,
                                params String[] sections)
            : base(config, key, crypt, cryptKey, caching, sections)
        {
            DefaultValue = defaultValue;
            Validate     = validate;

            Read();
        }
Exemple #11
0
 public IConfigProperty <T> GetProperty <T>(String key, T defaultValue, Func <T, Boolean> validate, CryptAction crypt, Byte[] cryptKey, Boolean caching, params String[] sections)
 {
     return((IConfigProperty <T>)GetOrAddProperty(new ConfigProperty <T>(this, key, defaultValue, validate, crypt, cryptKey, caching, sections)));
 }
Exemple #12
0
 public IConfigProperty <T> GetProperty <T>(String key, T defaultValue, Func <T, Boolean> validate, CryptAction crypt, Byte[] cryptKey, params String[] sections)
 {
     return(GetProperty(key, defaultValue, validate, crypt, cryptKey, CachingByDefault, sections));
 }
Exemple #13
0
 public IConfigProperty <T> GetProperty <T>(String key, T defaultValue, Func <T, Boolean> validate, CryptAction crypt, params String[] sections)
 {
     return(GetProperty(key, defaultValue, validate, crypt, null, sections));
 }