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