tls即安全传输层协议,一般用于在两个通信应用程序之间提供保密性和数据完整性,由于在工作项目中系统内部需要安全认证,google一下发现了一个好用的自签证书的开源工具cfssl。cfssl是由CoreOS提供的(用GO实现,直接使用go get就可以安装),简单安全。
cfssl用来为etcd提供tls证书,因此它支持签三种类型的证书:client证书、server证书以及peer证书(即etcd集群成员之间的tls认证)。cfssl采用使用配置文件生成证书,因此自签之前,需要生成它识别的json格式的配置文件,cfssl提供了方便的命令行生成配置文件
为了便于管理,我将配置文件都放在了单独的目录,certs用来防置证书,json文件夹用来存放配置文件:
mkdir certs && cd certs
mkdir json
自签CA
- 如下为自签CA生成相应的配置文件和请求文件
cfssl print-defaults config > json/ca-config.json
cfssl print-defaults csr > json/ca-csr.json
- 根据自己的需要自定义ca-config.json,修改为如下配置:
- profiles:指定了不同角色的配置信息
服务端使用server auth(TLS Web Server Authentication X509 V3 extension)&#x