ps/Modules/Alkami.Ops.SecretServer.Console/Program.cs
2023-05-30 22:51:22 -07:00

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;
}
}
}
}