summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWouter Tinus <win.acme.simple@gmail.com>2020-07-18 22:34:32 +0200
committerWouter Tinus <win.acme.simple@gmail.com>2020-07-18 22:34:32 +0200
commitce24162d684b6b87897a0481e857cbac209df715 (patch)
treea167df0e5e0f1e993ed35a8f6b80cebbf132ae1d
parent16a6fd4f22e9fc3973fc8c0062cc6479d6ac9e96 (diff)
downloadletsencrypt-win-simple-ce24162d684b6b87897a0481e857cbac209df715.zip
letsencrypt-win-simple-ce24162d684b6b87897a0481e857cbac209df715.tar.gz
letsencrypt-win-simple-ce24162d684b6b87897a0481e857cbac209df715.tar.bz2
prevent crash with multiple store plugins of the same type
-rw-r--r--src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs5
-rw-r--r--src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs2
-rw-r--r--src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs16
-rw-r--r--src/main.lib/Plugins/StorePlugins/PfxFile/PfxFile.cs3
4 files changed, 13 insertions, 13 deletions
diff --git a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
index 7bc444b..e6ca806 100644
--- a/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
+++ b/src/main.lib/Plugins/StorePlugins/CentralSsl/CentralSsl.cs
@@ -82,8 +82,9 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
_log.Error(ex, "Error copying certificate to CentralSsl store");
}
- }
- input.StoreInfo.Add(GetType(),
+ }
+ input.StoreInfo.TryAdd(
+ GetType(),
new StoreInfo()
{
Name = CentralSslOptions.PluginName,
diff --git a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
index 6d2be30..60c0170 100644
--- a/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
+++ b/src/main.lib/Plugins/StorePlugins/CertificateStore/CertificateStore.cs
@@ -108,7 +108,7 @@ namespace PKISharp.WACS.Plugins.StorePlugins
InstallCertificateChain(input.Chain);
}
- input.StoreInfo.Add(
+ input.StoreInfo.TryAdd(
GetType(),
new StoreInfo()
{
diff --git a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
index 052a4b2..d00c860 100644
--- a/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
+++ b/src/main.lib/Plugins/StorePlugins/PemFiles/PemFiles.cs
@@ -78,15 +78,13 @@ namespace PKISharp.WACS.Plugins.StorePlugins
// Save complete chain
await File.WriteAllTextAsync(Path.Combine(_path, $"{name}-chain.pem"), exportString);
- if (!input.StoreInfo.ContainsKey(GetType()))
- {
- input.StoreInfo.Add(GetType(),
- new StoreInfo()
- {
- Name = PemFilesOptions.PluginName,
- Path = _path
- });
- }
+ input.StoreInfo.TryAdd(
+ GetType(),
+ new StoreInfo()
+ {
+ Name = PemFilesOptions.PluginName,
+ Path = _path
+ });
// Private key
if (input.CacheFile != null)
diff --git a/src/main.lib/Plugins/StorePlugins/PfxFile/PfxFile.cs b/src/main.lib/Plugins/StorePlugins/PfxFile/PfxFile.cs
index 03ca169..e86834b 100644
--- a/src/main.lib/Plugins/StorePlugins/PfxFile/PfxFile.cs
+++ b/src/main.lib/Plugins/StorePlugins/PfxFile/PfxFile.cs
@@ -57,7 +57,8 @@ namespace PKISharp.WACS.Plugins.StorePlugins
{
_log.Error(ex, "Error copying certificate to pfx path");
}
- input.StoreInfo.Add(GetType(),
+ input.StoreInfo.TryAdd(
+ GetType(),
new StoreInfo()
{
Name = PfxFileOptions.PluginName,