Ejemplo n.º 1
0
        public void TestThat_YamlCanBeLoadedIntoModel()
        {
            var key        = JsonPasswordCrypto.GenerateKey(256);
            var serializer = new ConfigYamlSerializer(new YamlConfigCrypto(key));

            var condepConfig = serializer.DeSerialize(_yml);
        }
Ejemplo n.º 2
0
        public void TestThatEncryptedJsonCanBeDecryptedIntoTypedConfig()
        {
            var parser = new EnvConfigParser();

            dynamic config;

            parser.Encrypted(_json, out config);
            string deploymentPassword = config.DeploymentUser.Password;
            string lbPassword         = config.LoadBalancer.Password;

            var key    = JsonPasswordCrypto.GenerateKey(256);
            var crypto = new JsonPasswordCrypto(key);

            parser.EncryptJsonConfig(config, crypto);

            var encryptedJson = parser.ConvertToJsonText(config);

            Assert.That(parser.Encrypted(encryptedJson, out config), Is.True);

            using (var memStream = new MemoryStream(Encoding.UTF8.GetBytes(encryptedJson)))
            {
                var decryptedConfig = parser.GetTypedEnvConfig(memStream, key);
                Assert.That(decryptedConfig.DeploymentUser.Password, Is.EqualTo(deploymentPassword));
                Assert.That(decryptedConfig.LoadBalancer.Password, Is.EqualTo(lbPassword));
            }
        }
Ejemplo n.º 3
0
        public void TestThat_CanEncryptYaml()
        {
            var key    = JsonPasswordCrypto.GenerateKey(256);
            var crypto = new YamlConfigCrypto(key);

            var encryptedYml = crypto.Encrypt(_yml);

            Assert.That(crypto.IsEncrypted(encryptedYml));
        }
Ejemplo n.º 4
0
        public void Setup()
        {
            var memStream      = new MemoryStream(Encoding.UTF8.GetBytes(_json));
            var tiersMemStream = new MemoryStream(Encoding.UTF8.GetBytes(_tiersJson));

            _cryptoKey = JsonPasswordCrypto.GenerateKey(256);
            var parser = new EnvConfigParser(new ConfigJsonSerializer(new JsonConfigCrypto(_cryptoKey)));

            _config      = parser.GetTypedEnvConfig(memStream, null);
            _tiersConfig = parser.GetTypedEnvConfig(tiersMemStream, null);
        }
Ejemplo n.º 5
0
        public void TestThat_CanEncryptTaggedForEncryption()
        {
            string yml = @"SomeKey : Administrator
SomeSensitiveKey : !!encrypt SomeSensitiveValue";

            var key    = JsonPasswordCrypto.GenerateKey(256);
            var crypto = new YamlConfigCrypto(key);

            var encryptedYml = crypto.Encrypt(yml);

            Assert.That(crypto.IsEncrypted(encryptedYml));
        }
Ejemplo n.º 6
0
        public void TestThat_CanEncryptPassword()
        {
            string yml = @"UserName : Administrator
Password : !!encrypt SomePassword";

            var key    = JsonPasswordCrypto.GenerateKey(256);
            var crypto = new YamlConfigCrypto(key);

            var encryptedYml = crypto.Encrypt(yml);

            Assert.That(crypto.IsEncrypted(encryptedYml));
        }
Ejemplo n.º 7
0
        public void TestThatEncryptTagGetsEncrypted()
        {
            var parser = new EnvConfigParser();

            dynamic config;

            parser.Encrypted(_encryptJson, out config);

            var key    = JsonPasswordCrypto.GenerateKey(256);
            var crypto = new JsonPasswordCrypto(key);

            parser.EncryptJsonConfig(config, crypto);

            var encryptedJson = parser.ConvertToJsonText(config);
            //Assert.That(parser.Encrypted(encryptedJson, out config), Is.True);

            //using (var memStream = new MemoryStream(Encoding.UTF8.GetBytes(encryptedJson)))
            //{
            //    var decryptedConfig = parser.GetTypedEnvConfig(memStream, key);
            //    Assert.That(decryptedConfig.DeploymentUser.Password, Is.EqualTo(password));
            //}
        }
Ejemplo n.º 8
0
 private static string GetKey(ConDepEncryptOptions options)
 {
     return(string.IsNullOrWhiteSpace(options.Key) ? JsonPasswordCrypto.GenerateKey(256) : options.Key);
 }