用户首先生成私钥,使用私钥生成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证书,下载并安装保障网站通信安全。