TLS 加密无效 通过openssl生成证书和密钥

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本:centos7.6
  • TiDB 版本: V3.0.3

通过OpenSSL 生成的证书与密钥,如下:

1: 在主服务器上创建CA证书:

openssl genrsa 2048 > ca-key.pem

openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem

2: 在主服务器上创建服务端的证书:

openssl req -newkey rsa:2048 -days 1000 -nodes -keyout server-key.pem > server-req.pem

openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem

3: 在主服务器上创建客户端的证书:

openssl req -newkey rsa:2048 -days 1000 -nodes -keyout client-key.pem > client-req.pem

openssl x509 -req -in client-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem

TIDB配置文件

[security]

ssl-ca = “/home/tidb/tidb-ansible/conf/certs/ca-cert.pem”

ssl-cert = “/home/tidb/tidb-ansible/conf/certs/server-cert.pem”

ssl-key = “/home/tidb/tidb-ansible/conf/certs/server-key.pem”

执行SHOW STATUS LIKE “%Ssl%”

image

mysql 客户端也是不需要验证直接可以联

之前有过一些 bug,最近的 master 才修好,还没 cherrypick,下个版本出来了试下。

好的:grinning: