Exemple #1
0
        public async Task TestStoreCredential()
        {
            var testSecret = "This is a secret";
            var test       = new StoredCredential
            {
                ProviderType = "DNS01.API.Route53",
                Title        = "A test credential",
                StorageKey   = Guid.NewGuid().ToString(),
                Secret       = testSecret
            };
            var credentialsManager = new CredentialsManager();

            credentialsManager.StorageSubfolder = "Tests\\credentials";
            var result = await credentialsManager.Update(test);

            Assert.IsNotNull(result, "Credential stored OK");

            var list = await credentialsManager.GetCredentials();

            Assert.IsTrue(list.Any(l => l.StorageKey == test.StorageKey), "Credential retrieved");

            var secret = await credentialsManager.GetUnlockedCredential(test.StorageKey);

            Assert.IsNotNull(secret);
            Assert.IsTrue(secret == testSecret, "Credential decrypted");
        }
Exemple #2
0
        public async Task TestStoreCredentialDictionary()
        {
            var secrets = new Dictionary <string, string>();

            secrets.Add("zoneid", "ABC123");
            secrets.Add("secretid", "thereisnosecret");

            var test = new StoredCredential
            {
                ProviderType = "DNS01.API.Route53",
                Title        = "A test credential",
                StorageKey   = Guid.NewGuid().ToString(),
                Secret       = Newtonsoft.Json.JsonConvert.SerializeObject(secrets)
            };

            var credentialsManager = new CredentialsManager();

            credentialsManager.StorageSubfolder = "Tests\\credentials";
            var result = await credentialsManager.Update(test);

            Assert.IsNotNull(result, "Credential stored OK");

            var list = await credentialsManager.GetCredentials();

            Assert.IsTrue(list.Any(l => l.StorageKey == test.StorageKey), "Credential retrieved");

            var secret = await credentialsManager.GetUnlockedCredentialsDictionary(test.StorageKey);

            Assert.IsNotNull(secret);
            Assert.IsTrue(secret["zoneid"] == "ABC123", "Credential decrypted");
        }
        public async Task CreateTestCredentials()
        {
            var credentialsManager = new CredentialsManager
            {
                StorageSubfolder = "credentials\\test"
            };

            var secrets = new Dictionary <string, string>
            {
                { "username", "ubuntu" },
                { "password", "testuser" }
            };

            var storedCred = await credentialsManager.Update(new StoredCredential
            {
                StorageKey   = "atestsshuser",
                Title        = "Test: SSH",
                DateCreated  = DateTime.Now,
                ProviderType = "SSH",
                Secret       = JsonConvert.SerializeObject(secrets)
            });

            secrets = new Dictionary <string, string>
            {
                { "username", "testuser" },
                { "password", "testuser" }
            };

            storedCred = await credentialsManager.Update(new StoredCredential
            {
                StorageKey   = ConfigSettings["TestCredentialsKey_UNC"],
                Title        = "Test: UNC testuser",
                DateCreated  = DateTime.Now,
                ProviderType = "Windows",
                Secret       = JsonConvert.SerializeObject(secrets)
            });
        }
        public async Task <StoredCredential> UpdateCredentials(StoredCredential credential)
        {
            DebugLog();

            return(await credentialsManager.Update(credential));
        }