TLS认证是gRPC比较常见的方式,利用PKI体系,生成客户端证书、服务端证书、以及CA证书,在交互期间进行身份验证,经秘钥协商后,以对称秘钥进行加密通信,保证数据隐私。Basic、Jwt都是要自实现,TLS是官方支持,操作简单。
1. TLS原理
双向认证简单来讲:服务端验证客户端证书、客户端验证服务端证书,互相验证对方身份后,协商对称秘钥通信,这个过程被称之为:握手协议。
2. x509证书生成
- 生成
CA
私钥与自签名证书 - 生成
Server
端私钥以及CA
签名证书 - 生成
Client
端私钥以及CA
签名证书
2.1)安装openssl
2.2)复制learn10
到learn17
2.3)在与client
、server
相同目录下创建certs
目录,并编写证书生成脚本generatecert.sh
注意:证书配置文件/usr/local/openssl/ssl/openssl.cnf
,与大家可能不一样