summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/InstallationPlugins/Script
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.lib/Plugins/InstallationPlugins/Script')
-rw-r--r--src/main.lib/Plugins/InstallationPlugins/Script/Script.cs45
-rw-r--r--src/main.lib/Plugins/InstallationPlugins/Script/ScriptArguments.cs4
-rw-r--r--src/main.lib/Plugins/InstallationPlugins/Script/ScriptOptions.cs4
3 files changed, 28 insertions, 25 deletions
diff --git a/src/main.lib/Plugins/InstallationPlugins/Script/Script.cs b/src/main.lib/Plugins/InstallationPlugins/Script/Script.cs
index 5cb9df4..74cb1f7 100644
--- a/src/main.lib/Plugins/InstallationPlugins/Script/Script.cs
+++ b/src/main.lib/Plugins/InstallationPlugins/Script/Script.cs
@@ -22,28 +22,31 @@ namespace PKISharp.WACS.Plugins.InstallationPlugins
public async Task Install(IEnumerable<IStorePlugin> store, CertificateInfo newCertificate, CertificateInfo oldCertificate)
{
- var defaultStoreType = store.First().GetType();
- var defaultStoreInfo = newCertificate.StoreInfo[defaultStoreType];
- var parameters = _options.ScriptParameters ?? "";
- parameters = parameters.Replace("{0}", newCertificate.SubjectName);
- parameters = parameters.Replace("{1}", _renewal.PfxPassword?.Value);
- parameters = parameters.Replace("{2}", newCertificate.CacheFile?.FullName);
- parameters = parameters.Replace("{3}", defaultStoreInfo.Path);
- parameters = parameters.Replace("{4}", newCertificate.Certificate.FriendlyName);
- parameters = parameters.Replace("{5}", newCertificate.Certificate.Thumbprint);
- parameters = parameters.Replace("{6}", newCertificate.CacheFile?.Directory.FullName);
- parameters = parameters.Replace("{7}", _renewal.Id);
+ if (_options.Script != null)
+ {
+ var defaultStoreType = store.First().GetType();
+ var defaultStoreInfo = newCertificate.StoreInfo[defaultStoreType];
+ var parameters = _options.ScriptParameters ?? "";
+ parameters = parameters.Replace("{0}", newCertificate.SubjectName);
+ parameters = parameters.Replace("{1}", _renewal.PfxPassword?.Value);
+ parameters = parameters.Replace("{2}", newCertificate.CacheFile?.FullName);
+ parameters = parameters.Replace("{3}", defaultStoreInfo.Path);
+ parameters = parameters.Replace("{4}", newCertificate.Certificate.FriendlyName);
+ parameters = parameters.Replace("{5}", newCertificate.Certificate.Thumbprint);
+ parameters = parameters.Replace("{6}", newCertificate.CacheFile?.Directory.FullName);
+ parameters = parameters.Replace("{7}", _renewal.Id);
- parameters = parameters.Replace("{CachePassword}", _renewal.PfxPassword?.Value);
- parameters = parameters.Replace("{CacheFile}", newCertificate.CacheFile?.FullName);
- parameters = parameters.Replace("{CacheFolder}", newCertificate.CacheFile?.FullName);
- parameters = parameters.Replace("{CertCommonName}", newCertificate.SubjectName);
- parameters = parameters.Replace("{CertFriendlyName}", newCertificate.Certificate.FriendlyName);
- parameters = parameters.Replace("{CertThumbprint}", newCertificate.Certificate.Thumbprint);
- parameters = parameters.Replace("{StoreType}", defaultStoreInfo.Name);
- parameters = parameters.Replace("{StorePath}", defaultStoreInfo.Path);
- parameters = parameters.Replace("{RenewalId}", _renewal.Id);
- await _client.RunScript(_options.Script, parameters);
+ parameters = parameters.Replace("{CachePassword}", _renewal.PfxPassword?.Value);
+ parameters = parameters.Replace("{CacheFile}", newCertificate.CacheFile?.FullName);
+ parameters = parameters.Replace("{CacheFolder}", newCertificate.CacheFile?.FullName);
+ parameters = parameters.Replace("{CertCommonName}", newCertificate.SubjectName);
+ parameters = parameters.Replace("{CertFriendlyName}", newCertificate.Certificate.FriendlyName);
+ parameters = parameters.Replace("{CertThumbprint}", newCertificate.Certificate.Thumbprint);
+ parameters = parameters.Replace("{StoreType}", defaultStoreInfo.Name);
+ parameters = parameters.Replace("{StorePath}", defaultStoreInfo.Path);
+ parameters = parameters.Replace("{RenewalId}", _renewal.Id);
+ await _client.RunScript(_options.Script, parameters);
+ }
}
public bool Disabled => false;
diff --git a/src/main.lib/Plugins/InstallationPlugins/Script/ScriptArguments.cs b/src/main.lib/Plugins/InstallationPlugins/Script/ScriptArguments.cs
index d635bb9..0c9318f 100644
--- a/src/main.lib/Plugins/InstallationPlugins/Script/ScriptArguments.cs
+++ b/src/main.lib/Plugins/InstallationPlugins/Script/ScriptArguments.cs
@@ -2,7 +2,7 @@
{
internal class ScriptArguments
{
- public string Script { get; set; }
- public string ScriptParameters { get; set; }
+ public string? Script { get; set; }
+ public string? ScriptParameters { get; set; }
}
}
diff --git a/src/main.lib/Plugins/InstallationPlugins/Script/ScriptOptions.cs b/src/main.lib/Plugins/InstallationPlugins/Script/ScriptOptions.cs
index 4e9be94..147ba58 100644
--- a/src/main.lib/Plugins/InstallationPlugins/Script/ScriptOptions.cs
+++ b/src/main.lib/Plugins/InstallationPlugins/Script/ScriptOptions.cs
@@ -10,8 +10,8 @@ namespace PKISharp.WACS.Plugins.InstallationPlugins
public override string Name => "Script";
public override string Description => "Start external script or program";
- public string Script { get; set; }
- public string ScriptParameters { get; set; }
+ public string? Script { get; set; }
+ public string? ScriptParameters { get; set; }
/// <summary>
/// Show details to the user