一、前言
本文主要针对于 cfssl 工具使用 以及 CA配置进行一次详细说明
二、下载cfssl工具
- 请自行去github下载相同版本的cfssl
1
2
3
4
5
6
7curl -s -L -o /bin/cfssl https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssl_1.4.1_linux_amd64
mv cfssl_1.4.1_linux_amd64 /bin/cfssl
mv cfssljson_1.4.1_linux_amd64 /bin/cfssljson
mv cfssl-certinfo_1.4.1_linux_amd64 /bin/cfssl-certinfo
三、配置详解
1 | cfssl print-defaults config >ca-config.json |
- ca-config.json
default1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29{
"signing": {
"default": {
"expiry": "168h"
},
"profiles": {
"www": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
},
"client": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
}
}
}
}
```
- ca-csr.json `default` (Certificate signing request)
证书签名请求
{
“CN”: “example.net”,
“hosts”: [
“example.net”,
“www.example.net"
],
“key”: {
“algo”: “ecdsa”,
“size”: 256
},
“names”: [
{
“C”: “US”,
“ST”: “CA”,
“L”: “San Francisco”
}
]
}
1 |
|
{
“CN”: “etcd-root-ca”,
“key”: {
“algo”: “rsa”,
“size”: 2048
},
“names”: [
{
“C”: “CN”,
“ST”: “Shanhai”,
“L”: “Shanhai”,
“O”: “Mu77Mu77”,
“OU”: “ops”
}
]
}
1 |
|
{
“signing”: {
“default”: {
“expiry”: “87600h”
},
“profiles”: {
“peer”: {
“usages”: [
“signing”,
“key encipherment”,
“server auth”,
“client auth”
],
“expiry”: “87600h”
},
“client”: {
“usages”: [
“signing”,
“key encipherment”,
“client auth”
],
“expiry”: “87600h”
},
“server”: {
“usages”: [
“signing”,
“key encipherment”,
“server auth”
],
“expiry”: “87600h”
}
}
}
}
```