TLS双向认证需要的认证文件
- 服务端:server.crt、server.key
- 客户端:client.crt、client.key
- 双方信任的:root.crt
说明:服务端和客户端都需要这三个重要的认证文件:
- 根证书,双方必须信任这个证书,因为对方的证书就是由此根证书颁发的
- 自己的证书,TLS通讯的加密基础
- 自己的密钥,TLS通讯的加密基础
制作根证书
第三方机构的根证书
这是比较常见的根证书,一般以付费的方式购买签发的证书,这种的好处就是作为客户端、或某些服务器而言通讯基础建立在app、浏览器上。作为C端不用再去信任根证书(默认已经安装了服务商的根证书),但我们作为tcp层的自研通讯而言,在不涩及开放、生态、系统级的通讯规范下,用自己生成的根证书即可
自签根证书(基于openssl)
mkdir -p /home/tls/root
cd /home/tls/root #文件有点多所有先创个文件夹放着
# 1,生成根证书密钥、牢记密码(root.key)
openssl genrsa -aes256 -out root.key 4096