]> WPIA git - nre.git/blob - README.md
upd: adjust duration of server certificates
[nre.git] / README.md
1 # NRE
2
3 This project is a collection of shell scripts to generate X.509 certificates suitable for operating a Certificate Authority.
4 It is usually used in conjunction with *Cassiopeia* and *Gigi*.
5
6 To generate a root certificate and all intermediate certificates for the years 2017 and 2018, run `./all root 2017 2018`.
7 To adjust the settings of the certificates (organization name, domain name, …),
8 create a `config` file and set the appropriate variables;
9 the `config.example` file documents the available variables.
10
11 ## Overview of Generating Shell Scripts
12
13 The shell scripts that can be invoked (in order of `all`) are:
14
15 * `clear`: remove all previously generated keys
16 * `generateKeys`: generate the root certificate and structure certificates (levels 0 and 1)
17 * `generateTime 2017`: generate the sub-cas for one year
18 * `generateInfra 2017`: generate the CA Infrastructure keys (Gigi TLS, Gigi S/MIME, communication with the signer, …) for one year
19 * `verify 2017`: verify all keys for one year
20 * (optional) `generateSignerConfig 2017`: generate config to be deployed on cassiopeia
21
22 All of these scripts depend on 2 “library scripts”:
23
24 * `commonFunctions.bash`: functions used all over those scripts
25 * `structure.bash`: definitions of which CAs and keys exist
26
27 ## Other Files and Folders
28
29 * `CAs`: configuration per structure sub-ca
30 * `profiles`: configuration per certificate profile
31 * `selfsign.config`: config for the CAs maintained by this script-collection internally
32
33 ## Generated Files and Folders
34
35 The following files and directories are generated in the `generated/` directory.
36
37 * `2017/ca`: generated time-based sub-certificates for one year
38 * `2017/keys`: generated infrastructure keys for one year
39 * `{root,assured,unassured,...}.ca/`: subdirectories for the individual certificates
40 * `*.ca/key.key`: the certificate’s private key
41 * `*.ca/key.crt`: the certificate’s certificate
42
43 They are also bundled into several `*.tar.gz` files in the `generated/` directory,
44 which are used by the `manager/` scripts in the *infra* project.