美文网首页
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