diff options
author | WouterTinus <wouter.tinus@gmail.com> | 2019-09-06 22:36:17 +0200 |
---|---|---|
committer | WouterTinus <wouter.tinus@gmail.com> | 2019-09-06 22:36:17 +0200 |
commit | 5a565e83a0aad40f935d4625c4d6770ad22fb603 (patch) | |
tree | 65bf0bcbb56bc8498ed6c2a9c57c6ce6ad6ba603 /src/main.lib/Configuration/NetworkCredentialOptions.cs | |
parent | 08096cb8e593f16113c82c4ed7e8ec78986435d7 (diff) | |
download | letsencrypt-win-simple-5a565e83a0aad40f935d4625c4d6770ad22fb603.zip letsencrypt-win-simple-5a565e83a0aad40f935d4625c4d6770ad22fb603.tar.gz letsencrypt-win-simple-5a565e83a0aad40f935d4625c4d6770ad22fb603.tar.bz2 |
move more stuff
Diffstat (limited to 'src/main.lib/Configuration/NetworkCredentialOptions.cs')
-rw-r--r-- | src/main.lib/Configuration/NetworkCredentialOptions.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main.lib/Configuration/NetworkCredentialOptions.cs b/src/main.lib/Configuration/NetworkCredentialOptions.cs new file mode 100644 index 0000000..0986c1f --- /dev/null +++ b/src/main.lib/Configuration/NetworkCredentialOptions.cs @@ -0,0 +1,48 @@ +using Newtonsoft.Json; +using PKISharp.WACS.Services; +using PKISharp.WACS.Services.Serialization; +using System.Net; + +namespace PKISharp.WACS.Configuration +{ + public class NetworkCredentialOptions + { + public string UserName { get; set; } + + [JsonProperty(propertyName: "PasswordSafe")] + public ProtectedString Password { get; set; } + + public NetworkCredential GetCredential() + { + return new NetworkCredential(UserName, Password?.Value); + } + + public void Show(IInputService input) + { + input.Show("Username", UserName); + input.Show("Password", new string('*', Password?.Value.Length ?? 0)); + } + + public NetworkCredentialOptions() { } + + public NetworkCredentialOptions(string userName, string password) + { + UserName = userName; + Password = new ProtectedString(password); + } + + public NetworkCredentialOptions(IArgumentsService arguments) + { + var args = arguments.GetArguments<NetworkCredentialArguments>(); + UserName = arguments.TryGetRequiredArgument(nameof(args.UserName), args.UserName); + Password = new ProtectedString(arguments.TryGetRequiredArgument(nameof(args.Password), args.Password)); + } + + public NetworkCredentialOptions(IArgumentsService arguments, IInputService input) + { + var args = arguments.GetArguments<NetworkCredentialArguments>(); + UserName = arguments.TryGetArgument(args.UserName, input, "Username"); + Password = new ProtectedString(arguments.TryGetArgument(args.Password, input, "Password", true)); + } + } +} |