1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- Bootstrapping CFSSL
- ====================
- CFSSL has no other dependencies besides a working Go 1.4 installation.
- It uses only standard library components, besides those packages
- included in the software.
- 1. Installing CFSSL
- ```
- go get -u github.com/cloudflare/cfssl/cmd/cfssl
- ```
- The `cfssl` binary may now be found in the `$GOPATH/bin` directory.
- 1.1 Installing mkbundle
- Installing the `mkbundle` utility is similar:
- ```
- go get -u github.com/cloudflare/cfssl/cmd/mkbundle
- ```
- 1.2 Installing cfssljson
- The `cfssljson` utility is installed with:
- ```
- go get -u github.com/cloudflare/cfssl/cmd/cfssljson
- ```
- Alternatively, all three can be accomplished in one pass:
- ```
- go get -u github.com/cloudflare/cfssl/cmd/...
- ```
- All three binaries will now be in the `$GOPATH/bin` directory.
- 2. Set up the intermediate and root certificate bundles
- The pre-built default CloudFlare bundles may be found in the
- [cfssl_trust](https://github.com/cloudflare/cfssl_trust) repository.
- `cfssl` will, by default, look for these bundles in `/etc/cfssl/`;
- it will look for a `ca-bundle.crt` and `int-bundle.crt`.
- 3. [Optional] Set up the CA certificate and key
- First, create a JSON file containing the key request similar to the
- following (perhaps in `ca.json`):
- ```
- {
- "hosts": [
- "ca.example.com"
- ],
- "key": {
- "algo": "rsa",
- "size": 4096
- },
- "names": [
- {
- "C": "US",
- "L": "San Francisco",
- "O": "Internet Widgets, LLC",
- "OU": "Certificate Authority",
- "ST": "California"
- }
- ]
- }
- ```
- Then, initialise the CA:
- ```
- cfssl genkey -initca ca.json | cfssljson -bare ca
- ```
- When `cfssl` starts up, it will look by default for a CA key named
- `ca-key.pem` and a certificate named `ca.pem` in `/etc/cfssl`; this may
- be changed via the command line options. If it can't find the key and
- certificate mentioned, it start up without the CA functionality enabled.
- 4. Start up the server
- ```
- cfssl serve
- ```
- The endpoints for the server are described in `doc/api.txt`.
|