我尝试用谷歌搜索,但找不到任何可靠的信息来告诉我如何生成 CSR。我有多个域,我想添加它们,所以我不能使用通常的 OpenSSL 向导:
*.domain1.com
*.domain2.com
我怎样才能生成这个?
答案1
根据您的要求,您希望保护多个域及其无限数量的子域。您可以使用多域名通配符证书。要使用 OpenSSL 向导生成 CSR,您必须遵循以下步骤。
登录您的服务器。
使用以下信息创建一个名为 san.cnf 的 OpenSSL 配置文件。
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
organizationName = Organization Name (eg, company)
commonName = Common Name (e.g. server FQDN or YOUR name)
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = domain.com
DNS.2 = *.domain2.com
DNS.3 = *.domain3.com
DNS.4 = *.domain4.com
笔记:根据您的要求更改或添加其他 DNS 名称。
保存文件并运行以下 OpenSSL 命令来创建证书签名请求和新的密钥文件。
openssl req -out sslcert.csr -newkey rsa:2048 -nodes -keyout private.key -config san.cnf
现在您有了 CSR 文件“domain.csr”,并将其发送给您的认证机构,以便他们颁发带有 SAN 的证书。
答案2
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out csr.pem -subj "/C=US/ST=California/L=San Francisco/O=您的公司/OU=您的部门/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com"