数据加密
如果你还没有一个CA,你可以本地创建一个, TLS需要服务端有一个私钥和一个对应签名证书, openssl可以很好地生成key和签证证书, 在那之后,你需要在服务端和客户端配置上对应的生成文件路径。
创建或选择一个目录,用于存储私钥和证书:
创建数据库文件和序列号文件:
echo 1000 > serial
wget https://raw.githubusercontent.com/hstreamdb/hstream/main/conf/openssl.cnf
生成CA密钥文件:
生成CA证书文件:
-new -x509 -days 7300 -sha256 -extensions v3_ca \
-out ca.cert.pem
这里,我们只为一个服务器生成密钥和证书, 你应该为所有有不同主机名的服务端创建密钥和证书, 或者创建一个在SAN中包含所有主机名(域名或IP地址)的证书。
openssl genrsa -out server01.key.pem 2048
生成一个服务端证书请求, 你输入Common Name时,应该输入正确的主机名(如localhost):
generate server certificate with generated CA:
-days 1000 -notext -md sha256 \
-in server01.csr.pem -out signed.server01.cert.pem
服务端配置:
# TLS options
# enable tls, which requires tls-key-path and tls-cert-path options
enable-tls: true
#
# key file path for tls, can be generated by openssl
tls-key-path: /path/to/the/server01.key.pem
tls-cert-path: /path/to/the/signed.server01.cert.pem