创建 SSL 证书和密钥
本页面介绍创建 SSL 加密所需证书和密钥的方法。
概述
SSL 加密需要 X.509 证书、keystore 和 truststore 来保障客户端与服务器之间的通信安全。
创建证书
1. 生成 CA 证书
openssl req -new -x509 -keyout ca-key -out ca-cert -days 365 -nodes
2. 生成服务器证书
openssl req -new -keyout server-key.pem -out server-cert.pem -days 365 -nodes
openssl x509 -req -CA ca-cert -CAkey ca-key -CAcreateserial -in server-cert.pem -out server-cert-signed.pem
3. 转换为 JKS 格式
openssl pkcs12 -export -in server-cert-signed.pem -inkey server-key.pem -certfile ca-cert -out keystore.p12
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore.jks
keytool -import -alias CARoot -file ca-cert -keystore truststore.jks
创建 Kubernetes 密钥
1. 创建 TLS 密钥
kubectl create secret tls ssl-server-cert --cert=server-cert.pem --key=server-key.pem
2. 创建通用密钥
kubectl create secret generic ssl-secrets \
--from-file=keystore.jks \
--from-file=truststore.jks \
--from-literal=keystore-password=password \
--from-literal=truststore-password=password
证书属性说明
- Keystore:包含服务器证书和私钥
- Truststore:包含 CA 证书用于验证客户端证书
- Keystore 密码:访问 keystore 的密码
- Truststore 密码:访问 truststore 的密码