一、生成CA根证书
自签名证书体系需要先创建CA根证书,用于后续签发服务器证书。操作步骤如下:
- 生成CA私钥:
openssl genrsa -out ca.key 2048
- 创建证书请求:
openssl req -new -key ca.key -out ca.csr
- 自签名生成根证书:
openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
二、生成服务器证书
针对内网域名(如internal.example.com
)生成服务器证书的流程:
- 生成服务器私钥:
openssl genrsa -out server.key 2048
- 创建包含域名扩展的配置文件(如
ext.cnf
),指定subjectAltName = DNS:internal.example.com
- 生成证书请求:
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 365 -extfile ext.cnf
三、配置Web服务器
以Nginx为例,配置SSL证书的示例:
server {
listen 443 ssl;
server_name internal.example.com;
ssl_certificate /path/server.crt;
ssl_certificate_key /path/server.key;
}
四、客户端信任证书
需将CA根证书导入客户端系统信任列表以消除浏览器警告:
- Windows:双击
ca.crt
安装到“受信任的根证书颁发机构” - macOS:通过钥匙串访问工具导入并设置为始终信任
- Linux:复制到
/usr/local/share/ca-certificates/
后执行update-ca-certificates
五、注意事项
自签名证书需遵循以下规范:
- 证书有效期建议不超过1年,并设置自动续签流程
- 必须包含
subjectAltName
扩展字段以避免现代浏览器警告 - 内网环境中建议使用IP SAN扩展(如
IP:192.168.1.10
)兼容IP直连场景
通过创建CA根证书、签发域名证书、配置Web服务器及客户端信任的完整流程,可在内网环境中实现安全的HTTPS通信。该方法适用于测试环境、内部管理系统等无需商业证书的场景。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/578848.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。