Certificado curinga com prefixo

7

Gostaria de saber se é possível criar um certificado curinga com um prefixo.

Eu sei que *.example.comvai cobrir qualquer coisa no primeiro nível (por exemplo. one.example.com, two.example.com, three-four.example.com, Etc), mas não vai cobrir another.one.example.comporque é 2 níveis.

Eu preciso ter um certificado curinga que reconheça um prefixo; assim seria www.*.example.com.

Isso significa, www.one.example.com, www.two.example.com, www.three.example.com, etc faria todo o trabalho corretamente.

Isso é possível e existe um provedor de certificados que pode fazer isso?

vuduy
fonte
Use um certificado UCC que protege x nomes de host. A parte ruim é que a lista de nomes de host está codificada no certificado.
Salman A

Respostas:

10

Eu preciso ter um certificado curinga que reconheça um prefixo; assim seria www.*.example.com. Isso significa, www.one.example.com, www.two.example.com, www.three.example.com, etc faria todo o trabalho corretamente.

Isso é possível e existe um provedor de certificados que pode fazer isso?

Não. De acordo com as regras do fórum do navegador da CA, RFC2818 e RFC6125 apenas um curinga é permitido e somente no rótulo à esquerda. O que significa que não www.*.example.comexiste *.*.example.comnem existe . Em vez disso, é necessário adicionar todos os domínios necessários na parte do nome alternativo do assunto do certificado, mas você pode ter várias entradas e pode usar caracteres curinga, por exemplo *.sub1.example.com, *.sub2.example.cometc.

Esses certificados com vários nomes curinga são comuns (consulte o certificado do Facebook), o que significa que existem fornecedores de certificados que oferecem esses certificados. Mas eles vão custar mais do que outros.

Steffen Ullrich
fonte
2

Crie um .cnfarquivo como o seguinte, com o qual você usa openssl req -new -out example.com.csr -key example.com.key -config example.com.cnf. Você pode criar o arquivo de chave usando

openssl genrsa -out example.com.key 4096

O example.com.cnfarquivo:

[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
sebix
fonte