]> WPIA git - nre.git/blob - README.md
upd: remove CAcert, generally improve README.md
[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
8 ## Overview of Generating Shell Scripts
9
10 The shell scripts that can be invoked (in order of `all`) are:
11
12 * `clear`: remove all previously generated keys
13 * `generateKeys`: generate the root certificate and structure certificates (levels 0 and 1)
14 * `generateTime 2017`: generate the sub-cas for one year
15 * `generateInfra 2017`: generate the CA Infrastructure keys (Gigi TLS, Gigi S/MIME, communication with the signer, …) for one year
16 * `verify 2017`: verify all keys for one year
17 * (optional) `generateSignerConfig 2017`: generate config to be deployed on cassiopeia
18
19 All of these scripts depend on 2 “library scripts”:
20
21 * `commonFunctions.bash`: functions used all over those scripts
22 * `structure.bash`: definitions of which CAs and keys exist
23
24 ## Other Files and Folders
25
26 * `CAs`: configuration per structure sub-ca
27 * `profiles`: configuration per certificate profile
28 * `selfsign.config`: config for the CAs maintained by this script-collection internally
29
30 ## Generated Files and Folders
31
32 The following files and directories are generated in the `generated/` directory.
33
34 * `2017/ca`: generated time-based sub-certificates for one year
35 * `2017/keys`: generated infrastructure keys for one year
36 * `{root,assured,unassured,...}.ca/`: subdirectories for the individual certificates
37 * `*.ca/key.key`: the certificate’s private key
38 * `*.ca/key.crt`: the certificate’s certificate
39
40 They are also bundled into several `*.tar.gz` files in the `generated/` directory,
41 which are used by the `manager/` scripts in the *infra* project.