summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Configuration/NetworkCredentialOptions.cs
diff options
context:
space:
mode:
authorWouterTinus <wouter.tinus@gmail.com>2019-09-06 22:36:17 +0200
committerWouterTinus <wouter.tinus@gmail.com>2019-09-06 22:36:17 +0200
commit5a565e83a0aad40f935d4625c4d6770ad22fb603 (patch)
tree65bf0bcbb56bc8498ed6c2a9c57c6ce6ad6ba603 /src/main.lib/Configuration/NetworkCredentialOptions.cs
parent08096cb8e593f16113c82c4ed7e8ec78986435d7 (diff)
downloadletsencrypt-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.cs48
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));
+ }
+ }
+}