public void TestECSCredentials_LocalFullUri()
        {
            string uri        = "/ECS/Test/Endpoint/";
            string accessKey  = "SomeKey";
            string secretKey  = "SomeSecretKey";
            string token      = "Token";
            string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z";

            using (ResponseTestServlet servlet = new ResponseTestServlet(uri))
            {
                string server = "http://*****:*****@"{{
    ""AccessKeyId"" : ""{accessKey}"",
    ""SecretAccessKey"" : ""{secretKey}"",
    ""Token"" : ""{token}"",
    ""Expiration"" : ""{expiration}""
}}";

                ECSTaskCredentials generator = new ECSTaskCredentials();

                ImmutableCredentials credentials = generator.GetCredentials();

                Assert.AreEqual(accessKey, credentials.AccessKey);
                Assert.AreEqual(secretKey, credentials.SecretKey);
                Assert.AreEqual(token, credentials.Token);
            }

            System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsFullURIEnvVariable, "");
        }
Beispiel #2
0
        private AmazonWebServicesSecurityCredentials GetECSCredentials()
        {
            try
            {
                string uri = System.Environment.GetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable);
                if (!string.IsNullOrEmpty(uri))
                {
                    IWebProxy webProxy           = System.Net.WebRequest.GetSystemWebProxy();
                    var       ecsTaskCredentials = new ECSTaskCredentials(webProxy);
                    var       credentials        = ecsTaskCredentials.GetCredentials();

                    return(new AmazonWebServicesSecurityCredentials()
                    {
                        AccessKeyId = credentials.AccessKey,
                        SecretAccessKey = credentials.SecretKey,
                        Token = credentials.Token
                    });
                }
            }
            catch (SecurityException e)
            {
                Logger.GetLogger(typeof(ECSTaskCredentials)).Error(e, "Failed to access environment variable {0}", ECSTaskCredentials.ContainerCredentialsURIEnvVariable);
            }

            return(new AmazonWebServicesSecurityCredentials
            {
                Expiration = DateTime.Now.AddMonths(36).ToString(),
                AccessKeyId = _awsConfig.AccessKeyId,
                SecretAccessKey = _awsConfig.SecretAccessKey
            });
        }
        public void TestECSCredentialsLocal()
        {
            string uri        = "/ECS/Test/Endpoint/";
            string accessKey  = "SomeKey";
            string secretKey  = "SomeSecretKey";
            string token      = "Token";
            string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z";

            System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, uri);

            using (ResponseTestServlet servlet = new ResponseTestServlet(uri))
            {
                string server = "http://*****:*****@"{{
    ""AccessKeyId"" : ""{0}"",
    ""SecretAccessKey"" : ""{1}"",
    ""Token"" : ""{2}"",
    ""Expiration"" : ""{3}""
}}", accessKey, secretKey, token, expiration);

                ECSTaskCredentials generator = new ECSTaskCredentials();

                FieldInfo serverField = generator.GetType().GetField("Server", BindingFlags.Instance | BindingFlags.NonPublic);
                Assert.IsNotNull(serverField);
                serverField.SetValue(generator, server);

                ImmutableCredentials credentials = generator.GetCredentials();

                Assert.AreEqual(accessKey, credentials.AccessKey);
                Assert.AreEqual(secretKey, credentials.SecretKey);
                Assert.AreEqual(token, credentials.Token);
            }

            System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, "");
        }
Beispiel #4
0
        public void TestECSCredentialsLocal()
        {

            string uri = "/ECS/Test/Endpoint/";
            string accessKey = "SomeKey";
            string secretKey = "SomeSecretKey";
            string token = "Token";
            string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z";

            System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, uri);

            using (ResponseTestServlet servlet = new ResponseTestServlet(uri))
            {
                string server = "http://*****:*****@"{{
    ""AccessKeyId"" : ""{0}"",
    ""SecretAccessKey"" : ""{1}"",
    ""Token"" : ""{2}"",
    ""Expiration"" : ""{3}""
}}", accessKey, secretKey, token, expiration);

                ECSTaskCredentials generator = new ECSTaskCredentials();

                FieldInfo serverField = generator.GetType().GetField("Server", BindingFlags.Instance | BindingFlags.NonPublic );
                Assert.IsNotNull(serverField);
                serverField.SetValue(generator, server);

                ImmutableCredentials credentials = generator.GetCredentials();

                Assert.AreEqual(accessKey, credentials.AccessKey);
                Assert.AreEqual(secretKey, credentials.SecretKey);
                Assert.AreEqual(token, credentials.Token);
            }

            System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, "");
        }