用户首先生成私钥,使用私钥生成CSR,提交CSR到CA,完成验证流程,下载并安装SSL证书。因此要通过CSR(证书签名请求)生成SSL证书,客户需要按照以下步骤操作:
步骤 1:生成私钥
私钥是加密通信的核心,需妥善保管(切勿泄露)。
命令示例(使用 OpenSSL):
bash
复制
下载
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
algorithm RSA:选择RSA算法(也可用EC生成ECDSA密钥)。
pkeyopt rsa_keygen_bits:2048:密钥长度建议2048位或4096位。
步骤 2:生成CSR
使用私钥生成CSR,其中需填写组织信息(CA会验证这些信息):
命令示例:
bash
复制
下载
openssl req -new -key private.key -out request.csr
填写信息示例:
Country Name (2字母代码):如 CN
State/Province:省份全称(如 Shanghai)
Locality Name:城市(如 Shanghai)
Organization Name:组织名(如 Company Inc.)
Organizational Unit Name:部门(如 IT Dept)
Common Name:证书绑定的域名(如 example.com,必须准确)
Email Address:管理员邮箱(可选)
步骤 3(可选):添加 SAN 扩展
若需支持多域名或子域名(如 www.example.com, mail.example.com),需在CSR中包含主题备用名称(SAN):
1. 创建配置文件 san.cnf:
ini
复制
下载
[req]
req_extensions = req_ext
distinguished_name = dn
[dn]
[req_ext]
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = mail.example.com
2. 生成带SAN的CSR:
bash
复制
下载
openssl req -new -key private.key -out request.csr -config san.cnf
步骤 4:提交CSR到CA
将生成的 request.csr 文件提交给CA(如 DigiCert、GoDaddy、Let's Encrypt 等)。
提交方式:通过CA网站上传、API接口或邮件发送。
验证流程:根据证书类型(DV/OV/EV),CA可能要求验证域名所有权或组织真实性。
步骤 5:获取SSL证书
CA审核通过后,会颁发SSL证书(通常为 .crt 或 .pem 文件)。证书文件内容形如:
复制
下载
-----BEGIN CERTIFICATE-----
[Base64编码的证书数据]
-----END CERTIFICATE-----
步骤 6:部署证书
将证书文件(如 certificate.crt)与私钥(private.key)部署到服务器(如 Nginx/Apache)。
Nginx 配置示例:
nginx
复制
下载
server {
listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
其他配置...
}
验证CSR内容(可选)
检查CSR信息是否正确:
bash
复制
下载
openssl req -in request.csr -noout -text
确认 Subject 信息和 Subject Alternative Name(如有)。
注意事项
1. 私钥安全:私钥一旦丢失或泄露,需立即吊销并重新生成证书。
2. 证书有效期:证书通常有效期为1年(Let's Encrypt为90天),需定期续订。
3. 兼容性:若使用ECC密钥,确保服务器和客户端支持ECDSA。
用户遵循以上六个步骤,就可以从CSR成功获取由CA签发的SSL证书,下载并安装保障网站通信安全。