Esempio n. 1
0
        public void CanDeserializeSerializedConfiguration()
        {
            CacheManagerSettings settings = new CacheManagerSettings();

            SymmetricStorageEncryptionProviderData data1 = new SymmetricStorageEncryptionProviderData(name1, symmetric1);

            settings.EncryptionProviders.Add(data1);

            // needed to save configuration
            settings.CacheManagers.Add(new CacheManagerData("foo", 0, 0, 0, "storage"));
            settings.BackingStores.Add(new CustomCacheStorageData("foo", typeof(MockCustomStorageBackingStore)));

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[CacheManagerSettings.SectionName] = settings;
            IConfigurationSource configurationSource
                = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections);

            CacheManagerSettings roSettigs = (CacheManagerSettings)configurationSource.GetSection(CacheManagerSettings.SectionName);

            Assert.IsNotNull(roSettigs);
            Assert.AreEqual(1, roSettigs.EncryptionProviders.Count);

            Assert.IsNotNull(roSettigs.EncryptionProviders.Get(name1));
            Assert.AreSame(typeof(SymmetricStorageEncryptionProviderData), roSettigs.EncryptionProviders.Get(name1).GetType());
            Assert.AreEqual(name1, roSettigs.EncryptionProviders.Get(name1).Name);
            Assert.AreEqual(symmetric1, ((SymmetricStorageEncryptionProviderData)roSettigs.EncryptionProviders.Get(name1)).SymmetricInstance);
        }
 // TODO - SR
 /// <summary>
 /// Creates node with sepecifed configuration data.
 /// </summary>
 /// <param name="data">The configuration data.</param>
 public SymmetricStorageEncryptionNode(SymmetricStorageEncryptionProviderData data)
     : base(data)
 {
     this.symmetricStorageEncryptionProviderData = data;
     this.onSymmetricProviderRemoved += new ConfigurationNodeChangedEventHandler(this.OnSymmetricProviderRemoved);
     this.onSymmetricProviderRenamed += new ConfigurationNodeChangedEventHandler(this.OnSymmetricProviderRenamed);
 }
Esempio n. 3
0
        private ISymmetricCryptoProvider CreateProvider()
        {
            SymmetricCryptoProviderFactory         factory = new SymmetricCryptoProviderFactory(cachingConfigurationView.ConfigurationContext);
            SymmetricStorageEncryptionProviderData data    = (SymmetricStorageEncryptionProviderData)cachingConfigurationView.GetStorageEncryptionProviderData(ConfigurationName);

            return(factory.CreateSymmetricCryptoProvider(data.SymmetricInstance));
        }
Esempio n. 4
0
 public void SetUp()
 {
     provider            = new SymmetricStorageEncryptionProviderDataManageabilityProvider();
     machineKey          = new MockRegistryKey(true);
     userKey             = new MockRegistryKey(true);
     configurationObject = new SymmetricStorageEncryptionProviderData();
 }
 public void SetUp()
 {
     provider = new SymmetricStorageEncryptionProviderDataManageabilityProvider();
     machineKey = new MockRegistryKey(true);
     userKey = new MockRegistryKey(true);
     configurationObject = new SymmetricStorageEncryptionProviderData();
 }
Esempio n. 6
0
 public void SetUp()
 {
     provider            = new ConfigurationElementManageabilityProviderWrapper(new SymmetricStorageEncryptionProviderDataManageabilityProvider());
     machineKey          = new MockRegistryKey(true);
     userKey             = new MockRegistryKey(true);
     wmiSettings         = new List <ConfigurationSetting>();
     configurationObject = new SymmetricStorageEncryptionProviderData();
 }
Esempio n. 7
0
        public void SymmeticStorageEncryptionProviderDataConstructsCorrectly()
        {
            const string symm1  = "symm1";
            const string dpapi1 = "dpapi1";

            SymmetricStorageEncryptionProviderData data = new SymmetricStorageEncryptionProviderData(symm1, dpapi1);

            Assert.AreEqual(symm1, data.Name);
            Assert.AreEqual(dpapi1, data.SymmetricInstance);
            Assert.AreEqual(typeof(SymmetricStorageEncryptionProvider), data.Type);
        }
Esempio n. 8
0
            public EncryptItemsWithSharedSymmetricProviderBuilder(IBackingStoreEncryptItemsUsing context, string cacheStorageEncryptionProviderName)
                : base(context)

            {
                symmetricCacheStorageEncryption = new SymmetricStorageEncryptionProviderData
                {
                    Name = cacheStorageEncryptionProviderName
                };

                base.AddEncryptionProviderToCachingConfigurationAndBackingStore(symmetricCacheStorageEncryption);
            }
Esempio n. 9
0
        /// <summary>
        /// Initialize a new instance of the <see cref="SymmetricStorageEncryptionProviderNode"/> class with a <see cref="SymmetricStorageEncryptionProviderData"/> configuration object.
        /// </summary>
        /// <param name="symmetricStorageEncryptionProvider">A <see cref="SymmetricStorageEncryptionProviderData"/> configuration object</param>
        public SymmetricStorageEncryptionProviderNode(SymmetricStorageEncryptionProviderData symmetricStorageEncryptionProvider)
        {
            if (symmetricStorageEncryptionProvider == null)
            {
                throw new ArgumentNullException("symmetricStorageEncryptionProvider");
            }

            Rename(symmetricStorageEncryptionProvider.Name);

            this.symmetricCryptoProviderNodeName      = symmetricStorageEncryptionProvider.SymmetricInstance;
            this.onSymmetricCryptoProviderNodeRemoved = new EventHandler <ConfigurationNodeChangedEventArgs>(OnSymmetricCryptoProviderNodeRemoved);
        }
        /// <summary>
        /// Initialize a new instance of the <see cref="SymmetricStorageEncryptionProviderNode"/> class with a <see cref="SymmetricStorageEncryptionProviderData"/> configuration object.
        /// </summary>
        /// <param name="symmetricStorageEncryptionProvider">A <see cref="SymmetricStorageEncryptionProviderData"/> configuration object</param>
        public SymmetricStorageEncryptionProviderNode(SymmetricStorageEncryptionProviderData symmetricStorageEncryptionProvider)
        {
            if (symmetricStorageEncryptionProvider == null)
            {
                throw new ArgumentNullException("symmetricStorageEncryptionProvider");
            }

            Rename(symmetricStorageEncryptionProvider.Name);

            this.symmetricCryptoProviderNodeName = symmetricStorageEncryptionProvider.SymmetricInstance;
            this.onSymmetricCryptoProviderNodeRemoved = new EventHandler<ConfigurationNodeChangedEventArgs>(OnSymmetricCryptoProviderNodeRemoved);
		}
        public void SetUp()
        {
            cryptoSettings = new CryptographySettings();
            settings       = new CacheManagerSettings();

            SymmetricStorageEncryptionProviderData encrytionProvider = new SymmetricStorageEncryptionProviderData(providerName, symmetricInstance);

            settings.EncryptionProviders.Add(encrytionProvider);

            cryptoSettings.SymmetricCryptoProviders.Add(new DpapiSymmetricCryptoProviderData(symmetricInstance, DataProtectionScope.CurrentUser));

            configurationSource = new DictionaryConfigurationSource();
            configurationSource.Add(CacheManagerSettings.SectionName, settings);
            configurationSource.Add(CryptographySettings.SectionName, cryptoSettings);
        }
        public void SetUp()
        {
            cryptoSettings = new CryptographySettings();
            settings = new CacheManagerSettings();

            SymmetricStorageEncryptionProviderData encrytionProvider = new SymmetricStorageEncryptionProviderData(providerName, symmetricInstance);
            settings.EncryptionProviders.Add(encrytionProvider);

            cryptoSettings.SymmetricCryptoProviders.Add(new DpapiSymmetricCryptoProviderData(symmetricInstance, DataProtectionScope.CurrentUser));

            configurationSource = new DictionaryConfigurationSource();
            configurationSource.Add(CacheManagerSettings.SectionName, settings);
            configurationSource.Add(CryptographySettings.SectionName, cryptoSettings);

		}
Esempio n. 13
0
        public void GetProvider()
        {
            SymmetricStorageEncryptionProviderData data = new SymmetricStorageEncryptionProviderData();

            data.Name = "symm1";
            data.SymmetricInstance = "dpapi1";

            SymmetricStorageEncryptionProvider provider = new SymmetricStorageEncryptionProvider();

            provider.ConfigurationName = "InMemoryPersistenceWithSymmetricEncryption";
            provider.Initialize(new CachingConfigurationView(Context));

            byte[] plainText = new byte[] { 0, 1, 2, 3, 4 };
            byte[] encrypted = provider.Encrypt(plainText);
            Assert.IsFalse(CompareBytes(plainText, encrypted), "enc");

            byte[] decrypted = provider.Decrypt(encrypted);

            Assert.IsTrue(CompareBytes(plainText, decrypted), "dec");
        }
 /// <summary>
 /// Creates node with sepecifed configuration data.
 /// </summary>
 /// <param name="data">The configuration data.</param>
 public SymmetricStorageEncryptionNode(SymmetricStorageEncryptionProviderData data) : base(data)          // TODO - SR
 {
     this.symmetricStorageEncryptionProviderData = data;
     this.onSymmetricProviderRemoved            += new ConfigurationNodeChangedEventHandler(this.OnSymmetricProviderRemoved);
     this.onSymmetricProviderRenamed            += new ConfigurationNodeChangedEventHandler(this.OnSymmetricProviderRenamed);
 }