cfssl命令学习-生成证书
文章目录
准备cfssl环境
1 2 3 4 |
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/local/bin/cfssl wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/local/bin/cfssljson wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/local/bin/cfssl-certinfo chmod +x /usr/local/bin/cfssl* |
生成ca证书
证书配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "8760h"
},
"profiles": {
"app": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "8760h"
}
}
}
}
EOF |
证书请求配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
cat > ca-csr.json <<EOF
{
"CN": "k8s",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing",
"O": "k8s",
"OU": "System"
}
]
}
EOF |
命令
1
|
cfssl gencert -initca ca-csr.json | cfssljson -bare ca |
生成server证书
请求文件配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
cat > app-csr.json <<EOF
{
"CN": "app",
"hosts": [
"127.0.0.1",
"192.168.1.11",
"app",
"app.ma.com"
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing",
"O": "k8s",
"OU": "System"
}
]
}
EOF |
命令
1 2 3 4 |
cfssl gencert -ca=/root/keys/ca.pem \ -ca-key=/root/keys/ca-key.pem \ -config=/root/keys/ca-config.json \ -profile=app app-csr.json | cfssljson -bare app |
查看证书
1
|
cfssl-certinfo -cert ca.pem |
文章作者 binbin wen
上次更新 2018-03-16