44 lines
1.6 KiB
C#
44 lines
1.6 KiB
C#
using System;
|
|
using System.Linq;
|
|
using Alkami.Ops.SecretServer.Model;
|
|
|
|
namespace Alkami.Ops.SecretServer.Console
|
|
{
|
|
class Program
|
|
{
|
|
/// <summary>
|
|
/// Simple example console app to pull all secrets from a given folder
|
|
/// </summary>
|
|
/// <param name="args"></param>
|
|
static void Main(string[] args)
|
|
{
|
|
try
|
|
{
|
|
using (var client = new Client())
|
|
{
|
|
var result = client.AuthenticateAsync("ops.deployment", @"PasswordGoesHere!", "corp.alkamitech.com").Result;
|
|
var secretSearchResults = client.GetFolderSecretsAsync("POD6").Result;
|
|
|
|
foreach (var cert in secretSearchResults.Secrets.Where(s => s.Value is Certificate).Select(s => s.Value))
|
|
{
|
|
var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
|
|
var downloadPath = ((Certificate)cert).SaveFileToDisk(path);
|
|
System.Console.WriteLine($"Downloaded certificate to {downloadPath}");
|
|
}
|
|
|
|
foreach (var user in secretSearchResults.Secrets.Where(s => s.Value is User).Select(s => s.Value))
|
|
{
|
|
var castUser = (User)user;
|
|
System.Console.WriteLine($"Retrieved user {castUser.UserName} with password {castUser.Password}");
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
System.Console.WriteLine(e);
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
}
|