一、环境准备
生成自签名SSL证书需要以下工具和基础环境:
- OpenSSL工具:推荐安装到不含空格和中文的路径(如
C:\OpenSSL32
) - 命令行终端:Windows系统建议使用PowerShell或CMD,Linux/macOS使用Bash
- 目录结构:创建独立文件夹存储证书文件(如
ssl_cert
)
二、快速生成步骤
通过OpenSSL生成自签名证书的核心流程如下:
- 生成私钥:
openssl genrsa -out domain.key 2048
- 创建证书请求(CSR):
openssl req -new -key domain.key -out domain.csr -subj "/CN=yourdomain.com"
- 生成自签名证书:
openssl x509 -req -days 365 -in domain.csr -signkey domain.key -out domain.crt
Windows用户可通过PowerShell简化流程:New-SelfSignedCertificate -DnsName "yourdomain.com" -CertStoreLocation cert:\LocalMachine\My
三、安装与配置
生成证书后需在服务器环境中部署:
- Web服务器:将
.crt
和.key
文件配置到Nginx/Apache的SSL模块 - 客户端信任:手动将CA证书导入系统受信任根证书颁发机构
- 格式转换:使用
openssl pkcs12 -export
生成PFX文件供IIS使用
四、注意事项
自签名证书存在以下限制:
- 浏览器会显示「不安全」警告,需手动添加信任
- 有效期建议不超过10年(如
-days 3650
) - CommonName字段必须与域名完全匹配,否则导致证书验证失败
自签名SSL证书适用于测试环境或内部系统加密,通过OpenSSL或PowerShell工具可在5分钟内完成生成。建议生产环境使用受信任CA机构颁发的证书以保证安全性。