Python-gRPC传输加密

本文是关于 gRPC 内置安全验证的概述。这里非常感谢 Thomas French ,在阅读完官方文档之后,感到了晦涩且非常 toy,而他写的博客则较为全面,降低了对于 gRPC 安全认证这个功能学习的门槛。首先我们来讲下大致的一个流程:1. 生成认证文件和一个私有密钥**2. ** 定义一个 RPC 服务**3. ** 书写服务端代码**4. ** 书写客户端代码这里不知道为啥,通过命令行生成的 ssl 生成的证书有点问题。命令行如下:openssl req -newkey rs
摘要由CSDN通过智能技术生成

本文是关于 gRPC 内置安全验证的概述。这里非常感谢 Thomas French ,在阅读完官方文档之后,感到了晦涩且非常 toy,而他写的博客则较为全面,降低了对于 gRPC 安全认证这个功能学习的门槛。

首先我们来讲下大致的一个流程:

1. 生成认证文件和一个私有密钥

2. 定义一个 RPC 服务

3. 书写服务端代码

4. 书写客户端代码

这里不知道为啥,通过命令行生成的 ssl 生成的证书有点问题。命令行如下:

openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt

此时确实生成了 ssl 相关的证书,但是并不能使用,抛出了如下的异常:

details = "failed to connect to all addresses"
debug_error_string = 
	"{"created":"@1619071291.415000000","description":"Failed to pick subchannel"

此时就直接使用了官网示例当中的密钥文件。

下面我们来看下 RPC 的服务定义,也就是说写一个 .proto 文件:

syntax = "proto3";

message Empty {
}

service Server {
  rpc Foo (Empty) returns (Empty) {}
}

server:

from concurrent import futures

import grpc
import service_pb2
import service_pb2_grpc

# 这里需要对抽象方法进行实现
class ServerServicer(service_pb2_grpc.ServerServicer):
    def Foo
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值