如何生成多域(和/或通配符)OpenSSL 证书?

如何生成多域(和/或通配符)OpenSSL 证书?

我尝试用谷歌搜索,但找不到任何可靠的信息来告诉我如何生成 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"

相关内容