diff options
Diffstat (limited to 'src/main.lib/Plugins/CsrPlugins/Rsa/RsaOptionsFactory.cs')
-rw-r--r-- | src/main.lib/Plugins/CsrPlugins/Rsa/RsaOptionsFactory.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main.lib/Plugins/CsrPlugins/Rsa/RsaOptionsFactory.cs b/src/main.lib/Plugins/CsrPlugins/Rsa/RsaOptionsFactory.cs new file mode 100644 index 0000000..8256756 --- /dev/null +++ b/src/main.lib/Plugins/CsrPlugins/Rsa/RsaOptionsFactory.cs @@ -0,0 +1,33 @@ +using PKISharp.WACS.Plugins.Base.Factories; +using PKISharp.WACS.Services; + +namespace PKISharp.WACS.Plugins.CsrPlugins +{ + class RsaOptionsFactory : CsrPluginOptionsFactory<Rsa, RsaOptions> + { + private IArgumentsService _arguments; + + public RsaOptionsFactory(IArgumentsService arguments) + { + _arguments = arguments; + } + + public string Name => "RSA"; + public string Description => "RSA key"; + + public override RsaOptions Aquire(IInputService inputService, RunLevel runLevel) + { + return Default(); + } + + public override RsaOptions Default() + { + var args = _arguments.GetArguments<CsrArguments>(); + return new RsaOptions() + { + OcspMustStaple = args.OcspMustStaple ? true : (bool?)null, + ReusePrivateKey = args.ReusePrivateKey ? true : (bool?)null + }; + } + } +} |