SSL服务端自签名证书生成指南
一、准备工作
生成自签名证书需要安装OpenSSL工具,建议从官网下载完整版本并安装至无空格和中文的路径。打开命令行工具后,创建两个目录分别存储CA证书和服务器证书文件:
- 安装OpenSSL到C:\OpenSSL32目录
- 在bin目录下执行
mkdir ca certs
- 验证openssl版本:
openssl version
二、生成CA证书
CA证书是信任链的根证书,建议设置20年有效期:
- 生成带密码的CA私钥:
openssl genrsa -des3 -out ca/myCA.key 2048
- 创建自签名的CA证书:
openssl req -x509 -new -nodes -key ca/myCA.key -sha256 -days 7300 -out ca/myCA.crt
- 在证书信息中填写可识别的Common Name(如”My Root CA”)
三、创建服务器证书
服务器证书需要经过CA签名才能生效,具体流程包含三个核心步骤:
- 生成服务器私钥:
openssl genrsa -out certs/server.key 2048
- 创建证书签名请求(CSR):
openssl req -new -key certs/server.key -out certs/server.csr
- 使用CA证书签名:
openssl x509 -req -days 365 -in certs/server.csr -CA ca/myCA.crt -CAkey ca/myCA.key -CAcreateserial -out certs/server.crt
四、配置服务器
将生成的server.key和server.crt文件部署到Web服务器中,注意不同服务器的配置方式存在差异:
- Apache:修改httpd-ssl.conf文件的SSLCertificateFile参数
- Nginx:在server块中添加ssl_certificate和ssl_certificate_key指令
- IIS:通过服务器证书管理器导入.pfx格式证书