Payload 校验
在复杂的网络环境中,硬件故障或数据恶意篡改可能导致发送方与接收方之间的数据不一致。在数据敏感的场景下,用户需要能够识别出 RPC 请求或响应中可能出现的数据篡改问题。
为此,Kitex 现已支持 payload 校验功能,能够有效检测并防范此类问题。同时,还支持扩展用户自定义的校验逻辑,提供灵活的接入方式,以满足多样化的安全需求。
使用须知
- Kitex 版本 >= v0.11.0
- 传输协议为 ttheader(配置方式参见 传输协议)
- 使用 thrift 作为 payload 协议(暂不支持泛化调用, gRPC)
- 生成的校验码长度限制为 4KB(超过该限制会直接返回错误)
配置方式
CRC32 校验
client 和 server 均使用 WithCodec
的 option 配置包含 crc32 check 的 codec。
client 侧
server 侧
Demo 可参考:https://github.com/cloudwego/kitex-tests/blob/main/thriftrpc/normalcall/normalcall_test.go#L523
扩展自定义的 validator
该功能允许用户扩展自己的 validator,仅需要实现以下 interface
并使用 codec.CodecConfig
进行配置
可参考以下示例(仅测试参考,请勿直接使用)
最后修改
April 2, 2025
: doc(Eino): fix a typo (#1294) (048e436)