1. CA根证书生成原理
自建CA的核心是生成自签名根证书,该证书作为信任链的起点,用于签发其他SSL证书。其实现流程包含三个关键步骤:
- 生成CA私钥文件(如ca.key)
- 创建自签名根证书(如ca.crt)
- 配置证书扩展参数(如有效期、组织信息)
使用OpenSSL生成时需注意-subj
参数中的/O
字段必须与后续签发的服务端证书保持机构名称一致,这是构建信任链的基础。
2. SSL证书生成步骤
基于CA根证书生成服务端证书的具体操作流程:
- 生成服务器私钥:
openssl genrsa -out server.key 2048
- 创建CSR请求文件:
openssl req -new -key server.key -out server.csr
- 使用CA签发证书:
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
关键参数说明:
-days
控制证书有效期(建议不超过825天)-subj
中/CN
必须填写完整域名subjectAltName
需包含IP和DNS记录
3. 自签名证书配置流程
在Nginx/Apache中部署自签名证书的注意事项:
- 私钥文件:server.key
- 证书链:server.crt + ca.crt
- 协议强制跳转:HTTPS 443端口监听
浏览器会提示“此连接非私人连接”警告,需手动导入CA根证书到系统信任库。生产环境建议使用Let’s Encrypt等免费CA服务。
自签名证书适用于测试环境和内网服务,通过OpenSSL工具链可快速构建完整的CA体系。实际部署时需注意证书链完整性、有效期管理和SAN扩展字段配置,生产环境推荐采用权威CA机构颁发的可信证书。