summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/StorePlugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.lib/Plugins/StorePlugins')
-rw-r--r--src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs13
-rw-r--r--src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslArguments.cs4
-rw-r--r--src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptions.cs4
-rw-r--r--src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptionsFactory.cs12
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs8
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreArguments.cs4
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptions.cs4
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptionsFactory.cs6
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/FindPrivateKey.cs4
-rw-r--r--src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs11
-rw-r--r--src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesArguments.cs2
-rw-r--r--src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptions.cs9
-rw-r--r--src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptionsFactory.cs10
13 files changed, 47 insertions, 44 deletions
diff --git a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
index 21d6fa5..3103e36 100644
--- a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
+++ b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
@@ -15,7 +15,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
private readonly ILogService _log;
private readonly string _path;
- private readonly string _password;
+ private readonly string? _password;
public CentralSsl(ILogService log, ISettingsService settings, CentralSslOptions options)
{
@@ -25,17 +25,18 @@ namespace PKISharp.WACS.Plugins.StorePlugins
options.PfxPassword.Value :
settings.Store.DefaultCentralSslPfxPassword;
- _path = !string.IsNullOrWhiteSpace(options.Path) ?
+ var path = !string.IsNullOrWhiteSpace(options.Path) ?
options.Path :
settings.Store.DefaultCentralSslStore;
- if (_path.ValidPath(log))
+ if (path != null && path.ValidPath(log))
{
+ _path = path;
_log.Debug("Using Centralized SSL path: {_path}", _path);
}
else
{
- throw new Exception($"Specified CentralSsl path {_path} is not valid.");
+ throw new Exception($"Specified CentralSsl path {path} is not valid.");
}
}
@@ -89,9 +90,9 @@ namespace PKISharp.WACS.Plugins.StorePlugins
/// </summary>
/// <param name="fi"></param>
/// <returns></returns>
- private X509Certificate2 LoadCertificate(FileInfo fi)
+ private X509Certificate2? LoadCertificate(FileInfo fi)
{
- X509Certificate2 cert = null;
+ X509Certificate2? cert = null;
try
{
cert = new X509Certificate2(fi.FullName, _password);
diff --git a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslArguments.cs b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslArguments.cs
index 81edb3b..fab782e 100644
--- a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslArguments.cs
+++ b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslArguments.cs
@@ -3,7 +3,7 @@
internal class CentralSslArguments
{
public bool KeepExisting { get; set; }
- public string CentralSslStore { get; set; }
- public string PfxPassword { get; set; }
+ public string? CentralSslStore { get; set; }
+ public string? PfxPassword { get; set; }
}
}
diff --git a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptions.cs b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptions.cs
index 35efe49..9579d47 100644
--- a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptions.cs
+++ b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptions.cs
@@ -12,13 +12,13 @@ namespace PKISharp.WACS.Plugins.StorePlugins
/// <summary>
/// Path to the Central Ssl store
/// </summary>
- public string Path { get; set; }
+ public string? Path { get; set; }
/// <summary>
/// PfxFile password
/// </summary>
[JsonProperty(propertyName: "PfxPasswordProtected")]
- public ProtectedString PfxPassword { get; set; }
+ public ProtectedString? PfxPassword { get; set; }
internal const string PluginName = "CentralSsl";
public override string Name => PluginName;
diff --git a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptionsFactory.cs b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptionsFactory.cs
index b22c69e..cd8fe09 100644
--- a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptionsFactory.cs
+++ b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSslOptionsFactory.cs
@@ -20,7 +20,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
_settings = settings;
}
- public override async Task<CentralSslOptions> Aquire(IInputService input, RunLevel runLevel)
+ public override async Task<CentralSslOptions?> Aquire(IInputService input, RunLevel runLevel)
{
var args = _arguments.GetArguments<CentralSslArguments>();
@@ -45,10 +45,10 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
password = await input.ReadPassword("Password to use for the PFX files, or enter for none");
}
- return await Create(path, password, args.KeepExisting);
+ return Create(path, password, args.KeepExisting);
}
- public override Task<CentralSslOptions> Default()
+ public override async Task<CentralSslOptions?> Default()
{
var args = _arguments.GetArguments<CentralSslArguments>();
var path = _settings.Store.DefaultCentralSslStore;
@@ -63,7 +63,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
password = args.PfxPassword;
}
- if (path.ValidPath(_log))
+ if (path != null && path.ValidPath(_log))
{
return Create(path, password, args.KeepExisting);
}
@@ -73,7 +73,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
}
}
- private Task<CentralSslOptions> Create(string path, string password, bool keepExisting)
+ private CentralSslOptions Create(string path, string? password, bool keepExisting)
{
var ret = new CentralSslOptions
{
@@ -87,7 +87,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
ret.Path = path;
}
- return Task.FromResult(ret);
+ return ret;
}
}
}
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
index 253fe2d..4f2e8aa 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
@@ -19,7 +19,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
private readonly ILogService _log;
private readonly ISettingsService _settings;
private const string _defaultStoreName = nameof(StoreName.My);
- private string _storeName;
+ private string? _storeName;
private readonly X509Store _store;
private readonly IIISClient _iisClient;
private readonly CertificateStoreOptions _options;
@@ -152,9 +152,9 @@ namespace PKISharp.WACS.Plugins.StorePlugins
return Task.CompletedTask;
}
- public CertificateInfo FindByThumbprint(string thumbprint) => ToInfo(GetCertificate(CertificateService.ThumbprintFilter(thumbprint)));
+ public CertificateInfo? FindByThumbprint(string thumbprint) => ToInfo(GetCertificate(CertificateService.ThumbprintFilter(thumbprint)));
- private CertificateInfo? ToInfo(X509Certificate2 cert)
+ private CertificateInfo? ToInfo(X509Certificate2? cert)
{
if (cert != null)
{
@@ -265,7 +265,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
_store.Close();
}
- private X509Certificate2 GetCertificate(Func<X509Certificate2, bool> filter)
+ private X509Certificate2? GetCertificate(Func<X509Certificate2, bool> filter)
{
var possibles = new List<X509Certificate2>();
try
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreArguments.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreArguments.cs
index e38a9c3..df0ea00 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreArguments.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreArguments.cs
@@ -3,7 +3,7 @@
internal class CertificateStoreArguments
{
public bool KeepExisting { get; set; }
- public string CertificateStore { get; set; }
- public string AclFullControl { get; set; }
+ public string? CertificateStore { get; set; }
+ public string? AclFullControl { get; set; }
}
}
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptions.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptions.cs
index fa4ec5f..b217d8a 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptions.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptions.cs
@@ -15,12 +15,12 @@ namespace PKISharp.WACS.Plugins.StorePlugins
/// <summary>
/// Name of the certificate store to use
/// </summary>
- public string StoreName { get; set; }
+ public string? StoreName { get; set; }
/// <summary>
/// Name of the certificate store to use
/// </summary>
- public List<string> AclFullControl { get; set; }
+ public List<string>? AclFullControl { get; set; }
public override void Show(IInputService input)
{
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptionsFactory.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptionsFactory.cs
index 03dc288..edcb802 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptionsFactory.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStoreOptionsFactory.cs
@@ -15,9 +15,9 @@ namespace PKISharp.WACS.Plugins.StorePlugins
Disabled = !userRoleService.IsAdmin;
}
- public override Task<CertificateStoreOptions> Aquire(IInputService inputService, RunLevel runLevel) => Default();
+ public override Task<CertificateStoreOptions?> Aquire(IInputService inputService, RunLevel runLevel) => Default();
- public override Task<CertificateStoreOptions> Default()
+ public override async Task<CertificateStoreOptions?> Default()
{
var args = _arguments.GetArguments<CertificateStoreArguments>();
var ret = new CertificateStoreOptions {
@@ -25,7 +25,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
KeepExisting = args.KeepExisting,
AclFullControl = args.AclFullControl.ParseCsv()
};
- return Task.FromResult(ret);
+ return ret;
}
}
}
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/FindPrivateKey.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/FindPrivateKey.cs
index 7f8efb0..7c2c07b 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/FindPrivateKey.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/FindPrivateKey.cs
@@ -16,7 +16,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
public FindPrivateKey(ILogService log) => _log = log;
- internal FileInfo Find(X509Certificate2 cert)
+ internal FileInfo? Find(X509Certificate2 cert)
{
string file;
string dir;
@@ -47,7 +47,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
var freeProvider = false; // Do we need to free the CSP ?
uint acquireFlags = 0;
var _keyNumber = 0;
- string keyFileName = null;
+ string? keyFileName = null;
// Determine whether there is private key information available for this certificate in the key store
if (CryptAcquireCertificatePrivateKey(cert.Handle, acquireFlags, IntPtr.Zero, ref hProvider, ref _keyNumber, ref freeProvider))
diff --git a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
index be7e2fb..4966053 100644
--- a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
+++ b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
@@ -24,16 +24,17 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
_log = log;
_pemService = pemService;
- _path = !string.IsNullOrWhiteSpace(options.Path) ?
+ var path = !string.IsNullOrWhiteSpace(options.Path) ?
options.Path :
settings.Store.DefaultPemFilesPath;
- if (_path.ValidPath(log))
+ if (path != null && _path.ValidPath(log))
{
- _log.Debug("Using .pem certificate path: {_path}", _path);
+ _log.Debug("Using .pem certificate path: {path}", path);
+ _path = path;
}
else
{
- throw new Exception($"Specified PemFiles path {_path} is not valid.");
+ throw new Exception($"Specified PemFiles path {path} is not valid.");
}
}
@@ -106,7 +107,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
public Task Delete(CertificateInfo input) => Task.CompletedTask;
- public CertificateInfo FindByThumbprint() => null;
+ public CertificateInfo? FindByThumbprint() => null;
bool IPlugin.Disabled => false;
}
diff --git a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesArguments.cs b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesArguments.cs
index 0f6b2b9..034fcc8 100644
--- a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesArguments.cs
+++ b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesArguments.cs
@@ -2,6 +2,6 @@
{
internal class PemFilesArguments
{
- public string PemFilesPath { get; set; }
+ public string? PemFilesPath { get; set; }
}
}
diff --git a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptions.cs b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptions.cs
index 14b60c6..4fb5892 100644
--- a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptions.cs
+++ b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptions.cs
@@ -7,15 +7,16 @@ namespace PKISharp.WACS.Plugins.StorePlugins
[Plugin("e57c70e4-cd60-4ba6-80f6-a41703e21031")]
internal class PemFilesOptions : StorePluginOptions<PemFiles>
{
- /// <summary>
- /// Path to the .pem directory
- /// </summary>
- public string Path { get; set; }
internal const string PluginName = "PemFiles";
public override string Name => PluginName;
public override string Description => "PEM encoded files (Apache, nginx, etc.)";
/// <summary>
+ /// Path to the .pem directory
+ /// </summary>
+ public string? Path { get; set; }
+
+ /// <summary>
/// Show details to the user
/// </summary>
/// <param name="input"></param>
diff --git a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptionsFactory.cs b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptionsFactory.cs
index 6429c66..02a26cf 100644
--- a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptionsFactory.cs
+++ b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFilesOptionsFactory.cs
@@ -19,7 +19,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
_settings = settings;
}
- public override async Task<PemFilesOptions> Aquire(IInputService input, RunLevel runLevel)
+ public override async Task<PemFilesOptions?> Aquire(IInputService input, RunLevel runLevel)
{
var args = _arguments.GetArguments<PemFilesArguments>();
var path = args.PemFilesPath;
@@ -31,10 +31,10 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
path = await input.RequestString("Path to folder where .pem files are stored");
}
- return await Create(path);
+ return Create(path);
}
- public override Task<PemFilesOptions> Default()
+ public override async Task<PemFilesOptions?> Default()
{
var args = _arguments.GetArguments<PemFilesArguments>();
var path = _settings.Store.DefaultPemFilesPath;
@@ -52,14 +52,14 @@ namespace PKISharp.WACS.Plugins.StorePlugins
}
}
- private Task<PemFilesOptions> Create(string path)
+ private PemFilesOptions Create(string path)
{
var ret = new PemFilesOptions();
if (!string.Equals(path, _settings.Store.DefaultPemFilesPath, StringComparison.CurrentCultureIgnoreCase))
{
ret.Path = path;
}
- return Task.FromResult(ret);
+ return ret;
}
}