可以的,Linux 下的 OpenSSL 完全可以用来生成 CSR(证书签名请求)。下面给你几种常见用法示例。
openssl req -new -newkey rsa:2048 -nodes \
-keyout server.key \
-out server.csr
说明:
rsa:2048:2048 位 RSA 私钥-nodes:私钥不加密(否则每次使用都要输入密码)server.key:私钥文件(一定要保密)server.csr:生成的 CSR 文件执行后会提示输入:
www.example.com)openssl req -new \
-key server.key \
-out server.csr
openssl req -new \
-key server.key \
-out server.csr \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/OU=IT/CN=www.example.com"
san.cnf[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.example.com
DNS.2 = example.com
DNS.3 = *.example.com
openssl req -new \
-key server.key \
-out server.csr \
-config san.cnf
✅ 现在 CA 基本都要求 CSR 带 SAN,否则会被拒绝
openssl req -in server.csr -noout -text
| 场景 | 是否适合 |
|---|---|
| 申请 Let’s Encrypt | ❌(用 certbot) |
| 向企业 CA / 商业 CA 申请证书 | ✅ |
| 内网 / 私有 CA | ✅ |
| 需要多域名 | ✅(SAN) |
如果你愿意,可以告诉我:
我可以帮你直接生成一套完全可用的命令。