简体中文
TLS 证书
生成 Redis TLS 自签证书 的 OpenSSL 脚本,仅供参考。推荐 OpenSSL >= 3.2(默认签发 X.509 v3)。
产出文件:ca.key ca.crt redis.key redis.crt。
配合 Redis Docker 安装 使用:将证书拷到生成脚本中注明的 /data/redis-*/cert 目录。
SAN证书 CN有效天数
bash
# ================================================================
# Redis TLS 自签证书(推荐 OpenSSL >= 3.2,默认签发 X.509 v3)
# 产出: ca.key ca.crt redis.key redis.crt
# ================================================================
# ----------------------------------------------------------------
# 第一步:生成 CA(ca.key + ca.crt)
# ----------------------------------------------------------------
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha256 -days 36500 \
-key ca.key -out ca.crt \
-subj "/CN=Redis-CA/O=Redis" \
-addext "basicConstraints=critical,CA:true" \
-addext "keyUsage=critical,keyCertSign,cRLSign"
# ----------------------------------------------------------------
# 第二步:生成服务器私钥与 CSR(含 SAN)
# ----------------------------------------------------------------
openssl genrsa -out redis.key 4096
openssl req -new -sha256 -key redis.key -out redis.csr \
-subj "/CN=redis/O=Redis" \
-addext "subjectAltName=IP:127.0.0.1,DNS:localhost" \
-addext "keyUsage=digitalSignature,keyEncipherment" \
-addext "extendedKeyUsage=serverAuth,clientAuth"
# ----------------------------------------------------------------
# 第三步:CA 签发服务器证书
# ----------------------------------------------------------------
openssl x509 -req -sha256 -days 36500 \
-in redis.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-out redis.crt -copy_extensions copy
# ----------------------------------------------------------------
# 第四步:验证
# ----------------------------------------------------------------
openssl verify -CAfile ca.crt redis.crt
openssl x509 -in redis.crt -noout -text | grep -E 'Version|Subject:|Alternative|IP Address|DNS'