一、准备工作与环境要求
生成十年有效期SSL自签证书需要安装OpenSSL工具(Windows/Linux/macOS通用),建议使用2048位或4096位密钥长度以保证安全性。创建独立的文件夹结构存放证书文件,例如:
/ca # 存放根证书 /certs # 存放服务器证书
通过命令行验证OpenSSL版本是否支持x509证书扩展功能,推荐使用1.1.1以上版本。
二、生成根证书密钥与CA证书
- 生成加密的CA私钥:
openssl genrsa -des3 -out ca/myCA.key 2048
- 创建自签名的CA证书(有效期20年):
openssl req -x509 -new -nodes -key ca/myCA.key -sha256 -days 7300 -out ca/myCA.crt
此步骤需填写证书颁发机构信息,其中Common Name
建议设置为可识别的机构名称。
三、签署服务器SSL证书
- 生成服务器私钥:
openssl genrsa -out certs/server.key 2048
- 创建证书签名请求:
openssl req -new -key certs/server.key -out certs/server.csr
- 编写扩展配置文件(支持多域名与IP):
cert.ext示例: authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage=digitalSignature,keyEncipherment subjectAltName=@alt_names [alt_names] DNS.1=example.com IP.1=192.168.1.1
- 使用CA签署证书:
openssl x509 -req -in certs/server.csr -out certs/server.crt -days 3650 -CA ca/myCA.crt -CAkey ca/myCA.key -CAcreateserial -extfile cert.ext
通过-days 3650
参数设置十年有效期,证书将包含SAN扩展信息。
四、部署与验证证书
将server.key
和server.crt
部署到Web服务器(如Nginx/Apache/IIS),同时需要将myCA.crt
导入客户端设备的受信任根证书颁发机构。验证方法包括:
- 使用
openssl x509 -in server.crt -noout -text
检查有效期与扩展信息 - 通过浏览器访问HTTPS服务确认证书链完整性
自签十年有效期SSL证书适用于测试环境、内网服务或少量固定用户场景,需配合HSTS策略提升安全性。注意定期检查私钥存储安全,不建议在生产环境对外服务中使用。