带前缀的通配符证书

带前缀的通配符证书

我想知道是否可以创建带有前缀的通配符证书。

我知道这*.example.com将涵盖第一级的任何内容(例如one.example.com,,,two.example.com等等three-four.example.com),但不会涵盖,another.one.example.com因为那是 2 个级别。

我需要一个可以识别前缀的通配符证书;所以它会是www.*.example.com

这意味着,,,www.one.example.com等都www.two.example.com可以www.three.example.com正常工作。

这可能吗?有没有证书提供商可以做到这一点?

答案1

我需要一个可以识别前缀的通配符证书;所以应该是www.*.example.com。这意味着www.one.example.comwww.two.example.comwww.three.example.com等都可以正常工作。

这可能吗?有没有证书提供商可以做到这一点?

不可以。根据 CA 浏览器论坛的规则,RFC2818RFC6125只允许一个通配符,并且只能在最左边的标签中。这意味着没有www.*.example.com和没有*.*.example.com两者。您需要在证书的主题备用名称部分添加所需的所有域,但您可以有多个条目,并且您可以使用通配符,即*.sub1.example.com*.sub2.example.com

这种带有多个通配符名称的证书很常见(看看 Facebook 的证书),这意味着有证书提供商提供这些证书。但它们的成本会比其他证书高。

答案2

创建一个.cnf如下所示的文件,并将其与 一起使用openssl req -new -out example.com.csr -key example.com.key -config example.com.cnf。您可以使用以下方式创建密钥文件

openssl genrsa -out example.com.key 4096

文件example.com.cnf

[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name

[req_distinguished_name]
commonName = example.com

[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.2 = *.example.com

答案3

也许您需要使用 SubjectAltName。

看一眼:http://wiki.cacert.org/FAQ/subjectAltName

相关内容