方法一:使用OpenSSL命令行工具
通过以下步骤可生成有效期十年的自签名证书:
- 生成RSA私钥:
openssl genrsa -out server.key 4096
- 创建证书签名请求:
openssl req -new -key server.key -out server.csr
- 生成自签名证书:
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
通过-days 3650
参数可设置10年有效期(3650天),建议使用4096位密钥增强安全性。
方法二:通过Windows PowerShell创建
在Windows系统下可执行以下命令:
$cert = New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(10)
该命令将生成存储在本地的证书,通过-NotAfter
参数直接指定10年有效期。导出时需使用Export-PfxCertificate
命令保存包含私钥的.pfx文件。
方法三:利用mkcert快速签发
适用于本地开发环境的便捷方案:
- 安装根证书:
mkcert -install
- 签发泛域名证书:
mkcert "*.example.com" 192.168.1.1
默认生成的证书有效期为10年,支持多域名/IP混合签发,但需在客户端设备安装根证书以消除浏览器警告。
技术建议
1. 密钥长度应≥2048位,推荐使用4096位加密算法
2. 部署后需删除服务器上的私钥备份文件
3. 建议配合HSTS策略强制HTTPS连接