Document certclient.py

This commit is contained in:
Ian Gulliver
2016-04-06 23:06:43 -07:00
parent a6e4ddb1a0
commit 004a58a483

View File

@@ -111,6 +111,28 @@ which is used to validate the manifest.json signature.
local paths to a PEM-encoded certificate and key pair that will be provided local paths to a PEM-encoded certificate and key pair that will be provided
to the server over HTTPS. This can be used to limit image availability. to the server over HTTPS. This can be used to limit image availability.
### certclient.py
Use a local master key/cert pair to authenticate to a
[https://github.com/robot-tools/certserver](certserver) instance and retrieve
a system-specific key. Mainly intended to be used with autoimage.py and
systemid.py.
Use the build_image.py flag:
```bash
--module="server/modules/certclient.py --server=https://certserver/ --ca-cert=/path/to/server/cert.pem --client-cert=/path/to/client/cert.pem --client-key=/path/to/client/key.pem --tag=www --subject='/C=US/ST=California/O=XXXX/OU=XXXX Test/CN=HOSTNAME'"
```
The new key and cert are saved to /systemid
`--tag` specifies a value added to the filename, so certclient.py can be
used more than once with different servers (e.g. once for an HTTPS client
key/cert pair, and once for an EAP-TLS key/cert pair).
`--subject` specifics the subject string passed to openssl. `HOSTNAME` is
replaced with the system hostname, possibly as set by systemid.py
### iconograph.py ### iconograph.py
Install icon inside the image. This allows the image to auto-update over HTTP. Install icon inside the image. This allows the image to auto-update over HTTP.
@@ -150,6 +172,9 @@ intended to a be separate device (possibly a USB flash drive, SD card, etc.)
which contains data that persists across re-images and identifies the system, which contains data that persists across re-images and identifies the system,
including system-specific keys and certificates. including system-specific keys and certificates.
It also sets the hostname to the value found in the systemid config on the
device.
```bash ```bash
--module="server/modules/systemid.py" --module="server/modules/systemid.py"
``` ```