cfssl生成证书

一、安装cfssl工具集

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64
mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo

二、创建ca证书

cfssl print-defaults config > config.json # 默认配置模板
cfssl print-defaults csr > csr.json #默认csr请求模板

2.1 创建配置文件

cat > ca-config.json <

CA 配置文件用于配置根证书的使用场景 (profile,可以有多个用来指定不同的参数) 和具体参数 (usage,过期时间、服务端认证、客户端认证、加密等),后续在签名证书时使用某个 profile。

  • signing: 表示该证书可用于签名其它证书;生成的 ca.pem 证书中 CA=TRUE;
  • server auth: 用来生成服务器证书,并由客户端验证服务器身份
  • client auth: 用来生成客户端证书,并由服务器验证客户端身份,如etcdctl客户端
  • peer auth: 生成对等证书,用来相互通信,如etcd集群节点相互通信

2.2 创建证书签名请求文件

cat >ca-csr.json  <
  • CN:Common Name;颁发者信息,
  • C:Country,所在国家
  • ST:State,所在省份
  • L:Locality,所在城市
  • O:Organization,组织名称

2.3 生成ca证书

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -
得到如下文件:

ca-key.pem
ca.csr
ca.pem

请保持ca-key.pem文件安全。此密钥允许在CA中创建任何类型的证书

三、使用ca颁发证书

3.1 生成server certificate

3.1.1 创建json文件
cat > server-csr.json <
3.1.2 生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=server server-csr.json | cfssljson -bare server

得到如下文件:

server-key.pem
server.csr
server.pem

3.2 生成peer certificate (Back to Top)

cat >peer-csr.json <
3.2.1 生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=peer peer-csr.json | cfssljson -bare peer
3.3 生成client certificate
cat > client-csr.json <
3.3.1生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=client client-csr.json | cfssljson -bare client

四、验证数据

openssl x509 -in ca.pem -text -noout
openssl x509 -in server.pem -text -noout
openssl x509 -in client.pem -text -noout

https://coreos.com/os/docs/latest/generate-self-signed-certificates.html

你可能感兴趣的:(linux命令,架构,kubernetes)