public void Invoke_KeyとIVを環境変数から取得して正常に復号化されること()
        {
            var config = new TripleDESCryptoSecretInfoRepositoryConfig(
                key: "PwshTools.CryptSecretString.Key.Tests.Cmdlet.2",
                iv: "PwshTools.CryptSecretString.IV.Repos.Cmdlet.2"
                );

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, UnitTestSecretKey, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, UnitTestSecretIV, EnvironmentVariableTarget.User);

            var cmdlet = new CryptSecretStringCommand(
                new TripleDESCryptoSecretInfoRepository(config)
                )
            {
                Value   = "6GQG8+pOFu7Fz1Qn0LPphw==",
                Decrypt = new SwitchParameter(isPresent: true)
            };

            var result = cmdlet
                         .Invoke <string>()
                         .Single();

            result.Should().Be("hogehoge");

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
        }
Пример #2
0
        public void CreateInfo_正常に生成出来ること()
        {
            var config = new TripleDESCryptoSecretInfoRepositoryConfig(
                key: "PwshTools.CryptSecretString.Key.Tests.Repos.1",
                iv: "PwshTools.CryptSecretString.IV.Repos.Tests.1"
                );

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.GetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().BeNull();
            Environment.GetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().BeNull();

            var info = new TripleDESCryptoSecretInfoRepository(config).CreateInfo();

            info.Key.Should().Be(
                Environment.GetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, EnvironmentVariableTarget.User)
                );
            info.IV.Should().Be(
                Environment.GetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, EnvironmentVariableTarget.User)
                );

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
        }
        public void Invoke_KeyとIVが引数と環境変数にない場合環境変数にKeyとIVが登録されていること()
        {
            var config = new TripleDESCryptoSecretInfoRepositoryConfig(
                key: "PwshTools.CryptSecretString.Key.Tests.Cmdlet.3",
                iv: "PwshTools.CryptSecretString.IV.Repos.Cmdlet.3"
                );

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.GetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().BeNull();
            Environment.GetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().BeNull();

            var cmdlet = new CryptSecretStringCommand(
                new TripleDESCryptoSecretInfoRepository(config)
                )
            {
                Value   = "hogehoge",
                Decrypt = new SwitchParameter(isPresent: false)
            };

            var result = cmdlet
                         .Invoke <string>()
                         .Single();

            Environment.GetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().NotBeNullOrEmpty();
            Environment.GetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, EnvironmentVariableTarget.User)
            .Should().NotBeNullOrEmpty();

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
        }
Пример #4
0
        public void GetInfo_正常に取得できること()
        {
            var config = new TripleDESCryptoSecretInfoRepositoryConfig(
                key: "PwshTools.CryptSecretString.Key.Tests.Repos.2",
                iv: "PwshTools.CryptSecretString.IV.Tests.Repos.2"
                );

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
            var testKey = "TestKey";
            var testIV  = "TestIV";

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, testKey, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, testIV, EnvironmentVariableTarget.User);

            var info = new TripleDESCryptoSecretInfoRepository(config).GetInfo();

            info.Key.Should().Be(testKey);
            info.IV.Should().Be(testIV);

            Environment.SetEnvironmentVariable(config.TripleDESCryptoKeyEnviromentVariableName, null, EnvironmentVariableTarget.User);
            Environment.SetEnvironmentVariable(config.TripleDESCryptoIVEnviromentVariableName, null, EnvironmentVariableTarget.User);
        }