예제 #1
0
        private void buttonCreate_Click(object sender, EventArgs e)
        {
            if (!_validatorCreate.ValidateControls())
            {
                return;
            }

            var filename = textBoxNewFile.Text;
            var password = textBoxNewPassword.Text;
            var savePass = checkBoxSavePassNew.Checked;

            try
            {
                var storage = new EncryptedStorage();

                /*storage.Data.Config.RestartEnabled = Settings.Default.Config_RestartEnabled;
                 * storage.Data.Config.RestartDelay = Settings.Default.Config_RestartDelay;
                 * storage.Data.Config.MaxAttemptsCount = Settings.Default.Config_MaxAttemptsCount;*/
                storage.Save(filename, password);
                Storage  = storage;
                Filename = filename;
                Password = password;
                Settings.Default.EncryptedStorageFile     = filename;
                Settings.Default.EncryptedStoragePassword = savePass ? password : null;
                Settings.Default.Save();
                DialogResult = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                Error = ex.Message;
            }
        }
예제 #2
0
        private void buttonOpen_Click(object sender, EventArgs e)
        {
            if (!_validatorOpen.ValidateControls())
            {
                return;
            }

            var filename = textBoxExistingFile.Text;
            var password = textBoxOpenPassword.Text;
            var savePass = checkBoxSavePassOpen.Checked;

            try
            {
                Storage  = new EncryptedStorage(filename, password);
                Filename = filename;
                Password = password;
                Settings.Default.EncryptedStorageFile     = filename;
                Settings.Default.EncryptedStoragePassword = savePass ? password : null;
                Settings.Default.Save();
                DialogResult = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                Error = ex.Message.TrimEnd('.');
            }
        }
        public static ConnectionParams FromEncryptedStorage()
        {
            // Attempt to read encrypted storage
            string xmlData = EncryptedStorage.ReadEncryptedString("C_DATA");

            if (xmlData != null && xmlData != "")
            {
                return(ConnectionParams.FromXML(xmlData));
            }
            else
            {
                return(null);
            }
        }
예제 #4
0
        public StartUpDialog()
        {
            InitializeComponent();

            applySource(StorageSource.NewStorage);

            _validatorCreate = new Validator(theErrorProvider, theGoodProvider);
            _validatorCreate.AddControl(textBoxNewFile, validateNewFile);
            _validatorCreate.AddControl(textBoxNewPassword, validateNewPassword);
            _validatorCreate.AddControl(textBoxNewPasswordConfirm, validateNewPassword);

            _validatorOpen = new Validator(theErrorProvider, theGoodProvider);
            _validatorOpen.AddControl(textBoxExistingFile, validateOpenFile);
            _validatorOpen.AddControl(textBoxOpenPassword, validateOpenPassword);

            Error = null;

            // Stored settings loading
            var lastFile      = Settings.Default.EncryptedStorageFile;
            var lastFileEmpty = string.IsNullOrEmpty(lastFile);
            var lastPass      = Settings.Default.EncryptedStoragePassword;
            var lastPassEmpty = string.IsNullOrEmpty(lastPass);

            if (!lastFileEmpty)
            {
                radioButtonOpenStorage.Checked = true;
                textBoxExistingFile.Text       = lastFile;
            }
            if (!lastPassEmpty)
            {
                textBoxOpenPassword.Text     = lastPass;
                checkBoxSavePassOpen.Checked = true;
            }
            if (!lastFileEmpty && !lastPassEmpty)
            {
                // Both file and pass was saved last time
                try
                {
                    Storage  = new EncryptedStorage(lastFile, lastPass);
                    Filename = lastFile;
                    Password = lastPass;
                }
                catch (Exception e)
                {
                    Error = e.Message;
                }
            }
        }
 public void It_should_save_connections()
 {
     var expectedData = CreateContent();
     var storage = new EncryptedStorage
         {
             Parameters =
                 {
                     FileName = this.fileName,
                     Password = "******"
                 },
             Data = expectedData
         };
     storage.Save();
     storage.Read();
     storage.Data.Connections.Should().Have.SameSequenceAs(expectedData.Connections);
 }
예제 #6
0
        public void It_should_save_connections()
        {
            var expectedData = CreateContent();
            var storage      = new EncryptedStorage
            {
                Parameters =
                {
                    FileName = this.fileName,
                    Password = "******"
                },
                Data = expectedData
            };

            storage.Save();
            storage.Read();
            storage.Data.Connections.Should().Have.SameSequenceAs(expectedData.Connections);
        }
        public void It_should_save_and_restore_settings_relations()
        {
            var expectedData = CreateContent();
            var storage = new EncryptedStorage
                {
                    Parameters =
                        {
                            FileName = this.fileName,
                            Password = "******"
                        },
                    Data = expectedData
                };
            storage.Save();
            storage.Read();
            var actualData = storage.Data;

            actualData.SharedSettings.Should().Have.Count.EqualTo(2);
            actualData.Connections.Select(c => c.SharedSettingsName)
                .Should()
                .Have.SameSequenceAs(expectedData.Connections.Select(c => c.SharedSettingsName));
            actualData.Connections[2].SharedSettings.Should().Be.SameInstanceAs(actualData.Connections[3].SharedSettings);
        }
예제 #8
0
        public void It_should_save_and_restore_settings_relations()
        {
            var expectedData = CreateContent();
            var storage      = new EncryptedStorage
            {
                Parameters =
                {
                    FileName = this.fileName,
                    Password = "******"
                },
                Data = expectedData
            };

            storage.Save();
            storage.Read();
            var actualData = storage.Data;

            actualData.SharedSettings.Should().Have.Count.EqualTo(2);
            actualData.Connections.Select(c => c.SharedSettingsName)
            .Should()
            .Have.SameSequenceAs(expectedData.Connections.Select(c => c.SharedSettingsName));
            actualData.Connections[2].SharedSettings.Should().Be.SameInstanceAs(actualData.Connections[3].SharedSettings);
        }