SSL密钥证书配置

Doris开启SSL功能需要配置CA密钥证书和Server端密钥证书,如需开启双向认证,还需生成Client端密钥证书:

  • 默认的CA密钥证书文件位于Doris/fe/mysql_ssl_default_certificate/ca_certificate.p12,默认密码为doris,您可以通过修改FE配置文件conf/fe.conf,添加mysql_ssl_default_ca_certificate = /path/to/your/certificate修改CA密钥证书文件,同时也可以通过mysql_ssl_default_ca_certificate_password = your_password添加对应您自定义密钥证书文件的密码。
  • 默认的Server端密钥证书文件位于Doris/fe/mysql_ssl_default_certificate/server_certificate.p12,默认密码为doris,您可以通过修改FE配置文件conf/fe.conf,添加mysql_ssl_default_server_certificate = /path/to/your/certificate修改Server端密钥证书文件,同时也可以通过mysql_ssl_default_server_certificate_password = your_password添加对应您自定义密钥证书文件的密码。
  • 默认生成了一份Client端的密钥证书,分别存放在Doris/fe/mysql_ssl_default_certificate/client-key.pemDoris/fe/mysql_ssl_default_certificate/client_certificate/

自定义密钥证书文件

除了Doris默认的证书文件,您也可以通过openssl生成自定义的证书文件。步骤参考mysql生成ssl证书 具体如下:

  1. 生成CA、Server端和Client端的密钥和证书
  1. # 生成CA certificate
  2. openssl genrsa 2048 > ca-key.pem
  3. openssl req -new -x509 -nodes -days 3600 \
  4. -key ca-key.pem -out ca.pem
  5. # 生成server certificate, 并用上述CA签名
  6. # server-cert.pem = public key, server-key.pem = private key
  7. openssl req -newkey rsa:2048 -days 3600 \
  8. -nodes -keyout server-key.pem -out server-req.pem
  9. openssl rsa -in server-key.pem -out server-key.pem
  10. openssl x509 -req -in server-req.pem -days 3600 \
  11. -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
  12. # 生成client certificate, 并用上述CA签名
  13. # client-cert.pem = public key, client-key.pem = private key
  14. openssl req -newkey rsa:2048 -days 3600 \
  15. -nodes -keyout client-key.pem -out client-req.pem
  16. openssl rsa -in client-key.pem -out client-key.pem
  17. openssl x509 -req -in client-req.pem -days 3600 \
  18. -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

2.验证创建的证书。

  1. openssl verify -CAfile ca.pem server-cert.pem client-cert.pem

3.将您的CA密钥和证书和Sever端密钥和证书分别合并到 PKCS#12 (P12) 包中。您也可以指定某个证书格式,默认PKCS12,可以通过修改conf/fe.conf配置文件,添加参数ssl_trust_store_type指定证书格式

  1. # 打包CA密钥和证书
  2. openssl pkcs12 -inkey ca-key.pem -in ca.pem -export -out ca_certificate.p12
  3. # 打包Server端密钥和证书
  4. openssl pkcs12 -inkey server-key.pem -in server.pem -export -out server_certificate.p12

参考文档