场景:golang作为服务端,python作为客户端,grpc的加密传输
试了网上很多的方法,有带ca的有不带的,天花乱坠头都晕了。最烦躁的是网上服务器和客户端都是同一语言的,试了下都不怎么灵光。纠结了不少时间后,终于试出一套最简单的能调通的方案。
本方案不使用ca,因此不够高大上,但对于一般应用的安全需求应该是没问题了。
第一步:生成证书
在安装了openssl的linux系统上,敲下如下命令:
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 3650 -out server.crt
然后命令行会让你敲一大堆东西:
Country Name (2 letter code) [XX]:xx
State or Province Name (full name) []:xx
Locality Name (eg, city) [Default City]:xx
Organization Name (eg, company) [Default Company Ltd]:xx
Organizational Unit Name (eg, section) []:xx
Common Name (eg, your name or your server's hostname) []:grpc-aggregate
Email Address []:xx
此处需要注意的是Common Name的输入,我输入