public void Setup()
        {
            var config = new CustomLocalStorageConfig(Path.Combine(@"test", "path"), "testing").WithDefaultKeyBuilder();

            Storage = new SecureLocalStorage(config);
            Assert.NotNull(Storage);
        }
        public void IsEncryptedOnlyForCurrentMachine()
        {
            var config  = new CustomLocalStorageConfig(Path.Combine(@"test", "path"), "testing", "test1234");
            var storage = new SecureLocalStorage(config);

            Assert.IsNotNull(storage);

            //Assert.DoesNotThrow(()=>Storage.Set("encryption","isEncrypted"));

            //Assert.Throws(typeof(CryptographicException), () => storage.Get("encryption"));

            Assert.Pass();
        }
Esempio n. 3
0
        private bool TryReloadStorage()
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            try
            {
                LocalStorage = new SecureLocalStorage(
                    new CustomLocalStorageConfig(null, "DotnetsaferShieldForVisualStudio").WithDefaultKeyBuilder()
                    );

                ExtensionConfiguration = LocalStorage.Exists(ExtensionConfigurationFile)
                    ? LocalStorage.Get <ShieldExtensionConfiguration>(ExtensionConfigurationFile)
                    : null;
            }
            catch (Exception e)
            {
                WriteLine(e.Message);
            }

            return(ExtensionConfiguration != null);
        }
        public ConfigurationWindowControl(ConfigurationViewModel viewModel)
        {
            InitializeComponent();

            _viewModel  = viewModel;
            DataContext = viewModel;

            LocalStorage = new SecureLocalStorage(
                new CustomLocalStorageConfig(null, "DotnetsaferShieldForVisualStudio").WithDefaultKeyBuilder()
                );

            ExtensionConfiguration = LocalStorage.Exists(ExtensionConfigurationFile) ?
                                     LocalStorage.Get <ShieldExtensionConfiguration>(ExtensionConfigurationFile) :
                                     new ShieldExtensionConfiguration();

            if (!string.IsNullOrEmpty(ExtensionConfiguration.ApiToken))
            {
                try
                {
                    _ = ShieldClient.CreateInstance(ExtensionConfiguration.ApiToken);
                    _viewModel.IsValidClient = true;
                    ApiKeyBox.Password       = ExtensionConfiguration.ApiToken;
                    ConnectButton.Content    = ExtensionConfiguration.ApiToken != ApiKeyBox.Password ? "Connect and save" : "Retry connection";
                }
                catch (Exception)
                {
                    _viewModel.IsValidClient = false;
                }
            }
            else
            {
                _viewModel.IsValidClient = false;
            }

            if (!_viewModel.IsValidClient)
            {
                ShieldControl.SelectedIndex = 1;
            }
        }