# CAcert signer client This is the CAcert signer client implementation that sends commands to the signer and handles certificate revocation lists (CRLs), OpenPGP public key signatures and X.509 certificates. ## Development preconditions You will need GNU make to build the application. On Debian systems you can install GNU make using: ```shell sudo apt install make ``` Install [go](https://go.dev/) >= 1.19, [golangci-lint](https://golangci-lint.run/usage/install/) >= 1.50.0 and [goreleaser](https://goreleaser.com/install/), as these are used for building and linting the application. Read the documentation of these tools, to find out how to use them. ## Building the binary There is a `Makefile` to build the `signerclient` binary. Run ```shell make ``` to run linting, tests and binary builds. ## Running the signer client The signer client requires a YAML configuration file to know some information about its runtime environment. The default configuration file name is `config.yaml` in the working directory. ### Generating a configuration file Example configuration data is generated when the client is run with the `-generate-config` command line argument: ```shell ./signerclient -generate-config ``` ### Start the client With `config.yaml` in the current directory you can start the client: ```shell ./signerclient ``` ### Supported command line arguments To get a list of supported command line arguments run: ```shell ./signerclient -help ```