美文网首页
grpc ssl验证

grpc ssl验证

作者: mafa1993 | 来源:发表于2021-09-08 20:43 被阅读0次

grpc认证

go版本小于1.15 的配置方式

1、制作私钥 (.key)

    $ openssl genrsa -out server.key 

    $ openssl ecparam -genkey -name secp384r1 -out server.key

2、自签名公钥(x509) (PEM-encodings .pem|.crt)

    $ openssl req -new -x509 -sha256 -key server.key -out server.pem –
    days 3650

大于1.15需要使用SAN协议进行配置
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析

  1. ca.conf和server.conf配置
  2. 生成ca密钥,得到ca.key openssl genrsa -out ca.key 4096
  3. 生成ca证书签发请求,得到ca。csr openssl req -new -sha256 -out ca.csr -key ca.key -config ca.conf
  4. 生成ca根证书,得到ca.crt openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
  5. 生成server.key openssl genrsa -out server.key 2048
  6. 生成证书签发请求 openssl req -new -sha256 -out server.csr -key server.key -config server.conf
  7. 配置ca.crl序列号文件 openssl x509 -req -in ca.csr -out ca.crt -CA ca.crt -CAkey ca.key -CAcreateserial
  8. 用CA证书生成展馆用户证书 得到server.crt openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -in server.csr -out server.pem -extensions req_ext -extfile server.conf

···
// 客户端
creds, _ := credentials.NewClientTLSFromFile("../../server.pem", "localhsot") //参数一 公钥 参数二 是配置里写的DNS
opts = append(opts, grpc.WithTransportCredentials(creds))
···

grpc.Dial(Address, opts...)

// 服务端

creds, _ := credentials.NewServerTLSFromFile("../../server.pem", "../../server.key") // 放入公钥 私钥
opts = append(opts, grpc.Creds(creds))
s.Serve(listen)

相关文章

网友评论

      本文标题:grpc ssl验证

      本文链接:https://www.haomeiwen.com/subject/wccbwltx.html