diff options
author | Wouter Tinus <win.acme.simple@gmail.com> | 2020-01-19 08:38:29 +0100 |
---|---|---|
committer | Wouter Tinus <win.acme.simple@gmail.com> | 2020-01-19 08:38:29 +0100 |
commit | cea47f96b29ff445aae1e90d76313f83c2c253be (patch) | |
tree | faf203068e0b599e681c4c904ce7ac3f921d009b | |
parent | fe0868448288d20cd24135d640c1d7e0f7490e3f (diff) | |
download | letsencrypt-win-simple-cea47f96b29ff445aae1e90d76313f83c2c253be.zip letsencrypt-win-simple-cea47f96b29ff445aae1e90d76313f83c2c253be.tar.gz letsencrypt-win-simple-cea47f96b29ff445aae1e90d76313f83c2c253be.tar.bz2 |
null store fix and docs
-rw-r--r-- | docs/reference/plugins/installation/index.md | 13 | ||||
-rw-r--r-- | docs/reference/plugins/store/index.md | 22 | ||||
-rw-r--r-- | src/main.lib/Plugins/Base/OptionsFactories/Null/NullStoreOptionsFactory.cs | 15 |
3 files changed, 32 insertions, 18 deletions
diff --git a/docs/reference/plugins/installation/index.md b/docs/reference/plugins/installation/index.md index 1cfd89a..a031317 100644 --- a/docs/reference/plugins/installation/index.md +++ b/docs/reference/plugins/installation/index.md @@ -8,11 +8,14 @@ application(s) after successfully creating or renewing a certificate. Currently there are three of these plugins. ## Multiple -More than one plugin can run by choosing them in order of execution. In interactive mode you -will be asked, for unattended mode you can provide a comma seperated list, +More than one plugin can run by choosing them in order of execution. In interactive +mode you will be asked, for unattended mode you can provide a comma seperated list, e.g. `--installation certificatestore,pemfiles` -## Default +## Default (simple mode) In simple mode the default installation plugin is [IIS Web](/win-acme/reference/plugins/installation/iisweb). -In full options and unattended modes there are no default installation steps, you have to explicitly -choose them from the interface or using the `--installation` switch.
\ No newline at end of file + +## Default (full options / unattended) +In full options and unattended modes there are **no** default installation steps, +which is equivalent to `--installation none`. You can to explicitly choose them +from the interface or using the `--installation` switch.
\ No newline at end of file diff --git a/docs/reference/plugins/store/index.md b/docs/reference/plugins/store/index.md index e77fb74..17988a1 100644 --- a/docs/reference/plugins/store/index.md +++ b/docs/reference/plugins/store/index.md @@ -3,19 +3,21 @@ sidebar: reference --- # Store plugins - -Store plugins are responsible for storing issued certificates in their permanent location(s). -The program will cache the certificate in a `.pfx` file in its CertificatePath (which defaults -to `%programdata%\win-acme\certificates`) but these files are protected by random passwords to -prevent local non-administrators from obtaining keys. Store plugins are responsible for making -the certificates accessible to the application(s) that need them. +Store plugins are responsible for storing issued certificates in their permanent +location(s). The program will cache the certificate in a `.pfx` file in its +CertificatePath (which defaults to `%programdata%\win-acme\[baseuri]certificates`) but +these files are protected by random passwords to prevent local non-administrators +from obtaining keys. Store plugins are responsible for making the certificates +accessible to the application(s) that need them. ## Multiple - -More than one plugin can run by choosing them in order of execution. In interactive mode you -will be asked, for unattended mode you can provide a comma seperated list, +More than one plugin can run by choosing them in order of execution. In interactive +mode you will be asked, for unattended mode you can provide a comma seperated list, e.g. `--store certificatestore,pemfiles` ## Default +The default is the [Windows Certificate Store](/win-acme/reference/plugins/store/certificatestore). -The default is the [Windows Certificate Store](/win-acme/reference/plugins/store/certificatestore).
\ No newline at end of file +## None +To instruct the program not to use any store, for example when your installation +script handles it, you may specify `--store none`
\ No newline at end of file diff --git a/src/main.lib/Plugins/Base/OptionsFactories/Null/NullStoreOptionsFactory.cs b/src/main.lib/Plugins/Base/OptionsFactories/Null/NullStoreOptionsFactory.cs index 20f54e6..1488a74 100644 --- a/src/main.lib/Plugins/Base/OptionsFactories/Null/NullStoreOptionsFactory.cs +++ b/src/main.lib/Plugins/Base/OptionsFactories/Null/NullStoreOptionsFactory.cs @@ -18,7 +18,7 @@ namespace PKISharp.WACS.Plugins.Base.Factories.Null Task<StorePluginOptions?> IStorePluginOptionsFactory.Aquire(IInputService inputService, RunLevel runLevel) => Generate(); Task<StorePluginOptions?> IStorePluginOptionsFactory.Default() => Generate(); bool IPluginOptionsFactory.Disabled => false; - string IPluginOptionsFactory.Name => new NullStoreOptions().Name; + string IPluginOptionsFactory.Name => NullStoreOptions.PluginName; string IPluginOptionsFactory.Description => new NullStoreOptions().Description; bool IPluginOptionsFactory.Match(string name) => string.Equals(name, new NullInstallationOptions().Name, StringComparison.CurrentCultureIgnoreCase); int IPluginOptionsFactory.Order => int.MaxValue; @@ -27,7 +27,8 @@ namespace PKISharp.WACS.Plugins.Base.Factories.Null [Plugin("cfdd7caa-ba34-4e9e-b9de-2a3d64c4f4ec")] internal class NullStoreOptions : StorePluginOptions<NullStore> { - public override string Name => "None"; + internal const string PluginName = "None"; + public override string Name => PluginName; public override string Description => "No (additional) installation steps"; } @@ -35,7 +36,15 @@ namespace PKISharp.WACS.Plugins.Base.Factories.Null { bool IPlugin.Disabled => false; public Task Delete(CertificateInfo certificateInfo) => Task.CompletedTask; - public Task Save(CertificateInfo certificateInfo) => Task.CompletedTask; + public Task Save(CertificateInfo certificateInfo) { + certificateInfo.StoreInfo.Add(GetType(), + new StoreInfo() + { + Name = NullStoreOptions.PluginName, + Path = "" + }); + return Task.CompletedTask; + } } } |