|
EasySign BETA
Digital Signing Tool
|
Provides command definitions and handlers for the EasySign command line interface. More...
Public Member Functions | |
| RootCommand | GetRootCommand () |
| Gets the root command for the command line interface. | |
| virtual void | RunSelfSign (bool force, string? commonName, string? email, string? organization, string? organizationalUnit, string? locality, string? state, string? country) |
| Runs the self-sign command to create a self-signed root CA certificate. | |
Protected Member Functions | |
| void | InitializeBundle (string bundlePath) |
| Initializes the bundle. | |
| bool | LoadBundle (bool readOnly=true) |
| Loads the bundle from file and handles load errors. | |
| virtual void | RunAdd (StatusContext statusContext, string[] files, bool replace, bool recursive, bool continueOnError, bool force) |
| Runs the add command. | |
| virtual void | RunInfo (StatusContext statusContext) |
| Runs the info command. | |
| virtual void | RunSign (StatusContext statusContext, X509Certificate2Collection certificates, bool skipVerify) |
| Runs the sign command. | |
| virtual bool | RunVerify (StatusContext statusContext, bool ignoreTime) |
| Runs the verify command. | |
| bool | VerifyCertificate (X509Certificate2 certificate, bool ignoreTime) |
| Verifies the validity of a certificate. | |
| bool | VerifyCertificateImpl (X509Certificate2 certificate, bool ignoreTime, out X509ChainStatus[] chainStatuses) |
| Verifies the certificate using the configured trust stores. | |
| CommandProvider (TConfiguration? configuration, ILogger? logger) | |
| Initializes a new instance of the CommandProvider<TBundle, TConfiguration> class. | |
| X509Certificate2? | GetSelfSigningRootCA () |
| Gets the self-signed root CA. | |
Properties | |
| TBundle? | Bundle [get, protected set] |
| Gets or sets the bundle. | |
| ILogger | Logger [get, set] |
| Gets or sets the logger to use for logging. | |
| TConfiguration | Configuration [get] |
| Gets the application configurations. | |
| Argument< string > | BundlePath [get] |
| Gets the common argument for the bundle path. | |
| Command | Add [get] |
| Gets the command for creating a new bundle or updating an existing one. | |
| Command | Info [get] |
| Gets the command for Showing bundle information. | |
| Command | Sign [get] |
| Gets the command for signing bundle with one or more certificate. | |
| Command | Verify [get] |
| Gets the command for verifying bundle. | |
| Command | SelfSign [get] |
| Gets the command for generating a self-signed root CA certificate. | |
| Command?? | Trust [get] |
| Gets the command for managing trusted root CAs and intermediate CAs. | |
| Command | Config [get] |
| Gets the command for managing configuration settings. | |
Provides command definitions and handlers for the EasySign command line interface.
| TBundle | The type of the bundle. |
| TConfiguration | The type of the command provider configuration. |
| TBundle | : | Bundle | |
| TConfiguration | : | CommandProviderConfiguration | |
| TConfiguration | : | new() |
Definition at line 21 of file CommandProvider.cs.
|
protected |
Initializes a new instance of the CommandProvider<TBundle, TConfiguration> class.
| configuration | The configuration for the command provider. If null, a default configuration will be used. |
| logger | The logger to use for logging. If null, a default null logger will be used. |
| ArgumentNullException |
Definition at line 45 of file CommandProvider.cs.
References SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Configuration, and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger.
|
abstract |
Gets the root command for the command line interface.
|
protected |
Gets the self-signed root CA.
Definition at line 600 of file CommandProvider.cs.
References SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Configuration.
|
abstractprotected |
Initializes the bundle.
| bundlePath | Path of the bundle. |
|
protected |
Loads the bundle from file and handles load errors.
| readOnly | A value indicating whether to load the bundle in read-only mode. |
Definition at line 28 of file BundleWorker.cs.
References SAPTeam.EasySign.Bundle.BundlePath, SAPTeam.EasySign.Bundle.LoadFromFile(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, SAPTeam.EasySign.Bundle.Manifest, and SAPTeam.EasySign.Manifest.UpdatedBy.
Referenced by SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunAdd(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunInfo(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunSign(), and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunVerify().
|
protectedvirtual |
Runs the add command.
| statusContext | The status context for interacting with AnsiConsole.Status. |
| files | The files to add to the bundle. |
| replace | A value indicating whether to replace existing entries. |
| recursive | A value indicating whether to add files recursively. |
| continueOnError | A value indicating whether to continue adding files if an error occurs. |
| force | A value indicating whether to force the addition of files to a signed bundle. |
Definition at line 83 of file BundleWorker.cs.
References SAPTeam.EasySign.Bundle.AddEntry(), SAPTeam.EasySign.Bundle.BundlePath, SAPTeam.EasySign.Bundle.DeleteEntry(), SAPTeam.EasySign.Manifest.Entries, SAPTeam.EasySign.Signatures.Entries, SAPTeam.EasySign.Manifest.GetNormalizedEntryName(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.LoadBundle(), SAPTeam.EasySign.Bundle.Loaded, SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, SAPTeam.EasySign.Bundle.Manifest, SAPTeam.EasySign.Bundle.RootPath, SAPTeam.EasySign.Bundle.Signatures, and SAPTeam.EasySign.Bundle.Update().
|
protectedvirtual |
Runs the info command.
| statusContext | The status context for interacting with AnsiConsole.Status. |
Definition at line 226 of file BundleWorker.cs.
References SAPTeam.EasySign.Bundle.BundlePath, SAPTeam.EasySign.Manifest.Entries, SAPTeam.EasySign.Signatures.Entries, SAPTeam.EasySign.Bundle.GetCertificate(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.LoadBundle(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, SAPTeam.EasySign.Bundle.Manifest, SAPTeam.EasySign.Manifest.ProtectedEntryNames, SAPTeam.EasySign.Bundle.Signatures, SAPTeam.EasySign.Manifest.StoreOriginalFiles, and SAPTeam.EasySign.Manifest.UpdatedBy.
|
virtual |
Runs the self-sign command to create a self-signed root CA certificate.
| force | A value indicating whether to force the creation of a new self-signed root CA certificate even if one already exists. |
| commonName | Common Name (CN) - required. if not specified, will prompt for user input. |
| Email (E) - optional. | |
| organization | Organization (O) - optional. |
| organizationalUnit | Organizational Unit (OU) - optional. |
| locality | Locality (L) - optional. |
| state | State or Province (ST) - optional. |
| country | Country (C) - optional. |
Definition at line 543 of file CommandProvider.cs.
References SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Configuration, SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, and SAPTeam.EasySign.CommandLine.CertificateSubject.ToString().
|
protectedvirtual |
Runs the sign command.
| statusContext | The status context for interacting with AnsiConsole.Status. |
| certificates | The certificates. |
| skipVerify | A value indicating whether to skip certificate verification. |
Definition at line 293 of file BundleWorker.cs.
References SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.LoadBundle(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, SAPTeam.EasySign.Bundle.Sign(), SAPTeam.EasySign.Bundle.Update(), and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.VerifyCertificate().
|
protectedvirtual |
Runs the verify command.
| statusContext | The status context for interacting with AnsiConsole.Status. |
| ignoreTime | A value indicating whether to ignore time validity checks for certificate verification. |
trueif the verification was successful; otherwise, false
Definition at line 380 of file BundleWorker.cs.
References SAPTeam.EasySign.Manifest.Entries, SAPTeam.EasySign.Signatures.Entries, SAPTeam.EasySign.Bundle.GetCertificate(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.LoadBundle(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.Logger, SAPTeam.EasySign.Bundle.Manifest, SAPTeam.EasySign.Bundle.Signatures, SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.VerifyCertificate(), and SAPTeam.EasySign.Bundle.VerifySignature().
|
protected |
Verifies the validity of a certificate.
This method has console output. For internal usages, call VerifyCertificateImpl(X509Certificate2, bool, out X509ChainStatus[]) instead.
| certificate | The certificate to verify. |
| ignoreTime | A value indicating whether to ignore time validity checks. |
true if the certificate is valid; otherwise, false. Definition at line 555 of file BundleWorker.cs.
Referenced by SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunSign(), and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunVerify().
|
protected |
Verifies the certificate using the configured trust stores.
| certificate | The certificate to verify. |
| ignoreTime | A value indicating whether to ignore time validity checks. |
| chainStatuses | The chain statuses of the verification. |
true if the certificate is valid; otherwise, false. | ApplicationException |
Definition at line 584 of file BundleWorker.cs.
References SAPTeam.EasySign.Bundle.VerifyCertificate().
|
get |
Gets the command for creating a new bundle or updating an existing one.
Definition at line 66 of file CommandProvider.cs.
|
getprotected set |
Gets or sets the bundle.
Definition at line 14 of file BundleWorker.cs.
|
getprotected |
Gets the common argument for the bundle path.
Definition at line 54 of file CommandProvider.cs.
|
get |
Gets the command for managing configuration settings.
Definition at line 467 of file CommandProvider.cs.
|
get |
Gets the application configurations.
Definition at line 33 of file CommandProvider.cs.
Referenced by SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.CommandProvider(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.GetSelfSigningRootCA(), and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunSelfSign().
|
get |
Gets the command for Showing bundle information.
Definition at line 120 of file CommandProvider.cs.
|
getsetprotected |
Gets or sets the logger to use for logging.
Definition at line 28 of file CommandProvider.cs.
Referenced by SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.CommandProvider(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.LoadBundle(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunAdd(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunInfo(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunSelfSign(), SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunSign(), and SAPTeam.EasySign.CommandLine.CommandProvider< TBundle, TConfiguration >.RunVerify().
|
get |
Gets the command for generating a self-signed root CA certificate.
Definition at line 282 of file CommandProvider.cs.
|
get |
Gets the command for signing bundle with one or more certificate.
Definition at line 142 of file CommandProvider.cs.
|
get |
Gets the command for managing trusted root CAs and intermediate CAs.
Definition at line 339 of file CommandProvider.cs.
|
get |
Gets the command for verifying bundle.
Definition at line 256 of file CommandProvider.cs.