一、问题
因客户需求grpc必须支持SSL/TLS1.2以上的版本,之前纳闷没有查看支持TLS版本的选项和宏开关,后续想到可以通过抓包工具获取协议头的信息。
但是我实际通过wireshark模拟抓包数据确不是TLSv1.2,而是TLSv1。
二、原因
后续排查发现,有可能是openssl版本的问题。加密组同事提供的版本是openssl 1.1.0f。
模拟测试了一下。
笔记本(openssl 1.0.1f)运行grpc server PLCN1(系统库 OpenSSL 1.0.1k)运行grpc clien
虚拟机(openssl 1.1.0k)运行grpc client PLCN1(openssl 1.1.0f)运行grpc server
果然是版本的问题,还好不需要配置grpc。
看了下官方文档要求
查找了下源码
并没有找到OPENSSL_NO_TLS1_2_METHOD的定义。
也没找到OPENSSL_API_COMPAT的定义,看来默认就是使用TLSv1_2的方法。
难道说明grpc只支持1.0.2?也是很奇怪。