创建ca配置文件
可以通过执行cfssl print-defaults config
创建默认的配置文件,然后再修改。
# cat ca-config.json
{
"signing": {
"default": {
"expiry": "1680h"
},
"profiles": {
"www": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
}
}
}
}
创建ca csr配置文件
可以通过执行cfssl print-defaults csr
创建默认的csr配置文件,然后再修改。
# cat ca-csr.json
{
"CN": "ssli.com",
"key": {
"algo": "ecdsa",
"size": 256
},
"names": [
{
"C": "CN",
"ST": "SX",
"L": "XA",
"O": "SSLI",
"OU": "CKS"
}
]
}
创建ca
代码语言:javascript复制cfssl gencert -initca ca-csr.json | cfssljson -bare ca
创建自签名证书的csr
代码语言:javascript复制# cat ssli-csr.json
{
"CN": "ssli.com",
"key": {
"algo": "ecdsa",
"size": 256
},
"hosts": [
"www.ssli.com"
],
"names": [
{
"C": "CN",
"ST": "SX",
"L": "XA",
"O": "SSLI",
"OU": "CKS"
}
]
}
创建自签名证书
代码语言:javascript复制# cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www ssli-csr.json | cfssljson -bare ssli
ca和证书
代码语言:javascript复制# ls *.pem
ca-key.pem ca.pem ssli-key.pem ssli.pem
下篇文章中会介绍如何在ingress中使用这个证书。
LEo at 00:12