Esempio n. 1
0
        public void SecretKeyProvider_NewSecretBase64_Length130_ThrowArgumentOutOfRangeException()
        {
            int length = 130;

            SecretKeyProvider secrets = new SecretKeyProvider();

            secrets.NewSecretBase64(length);
        }
Esempio n. 2
0
        public void SecretKeyProvider_NewSecret_LengthNegative1_ThrowArgumentOutOfRangeException()
        {
            int length = -1;

            SecretKeyProvider secrets = new SecretKeyProvider();

            secrets.NewSecret(length);
        }
        public ActionResult InitialSetup()
        {
            SecretKeyProvider secretKeyProvider = new SecretKeyProvider();

            ViewBag.EncryptionKey      = secretKeyProvider.NewSecretBase64(32);
            ViewBag.EmergencyAccessKey = secretKeyProvider.NewSecret(32);

            return(View());
        }
Esempio n. 4
0
        public void SecretKeyProvider_NewSecretBase64_Length32_ReturnsWellFormedBase64()
        {
            int length = 32;

            SecretKeyProvider secrets = new SecretKeyProvider();

            string secret = secrets.NewSecretBase64(length);

            byte[] secretByte = Convert.FromBase64String(secret);
        }
Esempio n. 5
0
        public void SecretKeyProvider_NewSecret_Length64_ReturnKeyWith64Length()
        {
            int length = 64;

            SecretKeyProvider secrets = new SecretKeyProvider();

            string secret = secrets.NewSecret(length);

            Assert.AreEqual(length, secret.Length);
        }
        public void HashProvider_ValidateHash_ProvideInvalidHash_ReturnsFalse()
        {
            SecretKeyProvider keygen       = new SecretKeyProvider();
            HashProvider      hashProvider = new HashProvider();

            byte[] invalidHash = keygen.NewSecretByte(32);
            byte[] dataByte    = Encoding.UTF8.GetBytes(data);

            bool result = hashProvider.ValidateData(dataByte, invalidHash);

            Assert.IsFalse(result);
        }
        public void HashProvider_ValidateHash_ProvideInvalidData_ReturnsFalse()
        {
            SecretKeyProvider keygen       = new SecretKeyProvider();
            HashProvider      hashProvider = new HashProvider();

            byte[] validHash = Convert.FromBase64String(dataExpectedHashBase64);
            byte[] dataByte  = Encoding.UTF8.GetBytes(invalidData);

            bool result = hashProvider.ValidateData(dataByte, validHash);

            Assert.IsFalse(result);
        }
Esempio n. 8
0
        public SecurePartsLayout()
        {
            ISecretKeyProvider secretKeyProvider = new SecretKeyProvider();
            var s3Files     = new S3FileGridPresenter(new S3Uploader(secretKeyProvider));
            var credentials = new CredentialGridPresenter(this, secretKeyProvider);

            var layout = new DynamicLayout();

            layout.BeginVertical(); // create a fields section
            layout.BeginHorizontal();
            layout.Add(new Label {
                Text = "Search"
            });
            layout.Add(credentials.SearchBox.Value, true);
            layout.EndHorizontal();
            layout.EndVertical();

            layout.BeginVertical(null, null, true, true);
            layout.BeginHorizontal(true);
            layout.Add(credentials.CredentialGrid.Value, true, true);
            layout.EndHorizontal();
            layout.EndVertical();

            layout.BeginVertical(null, null, true, false); // buttons section
            layout.BeginHorizontal(true);
            layout.Add(null, true, true);
            layout.EndHorizontal();
            layout.BeginHorizontal(false);
            layout.Add(null, true, false);
            layout.Add(credentials.NewButton.Value, false, false);
            layout.Add(credentials.LoadButton.Value, false, false);
            layout.Add(credentials.SaveButton.Value, false, false);
            layout.EndHorizontal();
            layout.EndVertical();


            var s3Uploader = new DynamicLayout();

            s3Uploader.BeginVertical(null, null, true, true); // buttons section
            s3Uploader.BeginHorizontal(true);
            s3Uploader.Add(s3Files.Grid.Value, true, true);
            s3Uploader.EndHorizontal();
            s3Uploader.EndVertical();

            s3Uploader.BeginVertical(null, null, true, false); // buttons section
            s3Uploader.BeginHorizontal(true);
            s3Uploader.Add(null, true, true);
            s3Uploader.EndHorizontal();

            s3Uploader.BeginHorizontal(false);
            s3Uploader.Add(null, true, false);
            s3Uploader.Add(s3Files.UploadToS3.Value(() => layout), false, false);
            s3Uploader.Add(s3Files.RefreshS3Files.Value, false, false);
            s3Uploader.Add(s3Files.DeleteS3Files.Value, false, false);
            s3Uploader.EndHorizontal();
            s3Uploader.EndVertical();

            var tabControl = new TabControl();

            tabControl.Pages.Add(new TabPage(layout)
            {
                Text = "Passwords"
            });
            tabControl.Pages.Add(new TabPage(s3Uploader)
            {
                Text = "Sharing"
            });

            Content = tabControl;
            Size    = new Size(500, 300);

            Title = "Secure Things";
        }