Como obter o ssl curinga do multi-domínio a partir de criptografarmos?

1

Eu tenho um servidor que responde a domínios como a.b.c.example.com . a b e c são partes dinâmicas e quero abordar todas elas com um único certificado SSL.

Eu criei certificado curinga aqui para *.example.com . Mas agora eu tenho um erro ERR_CERT_COMMON_NAME_INVALID .

Ao mesmo tempo, c.example.com funciona bem.

Posso de alguma forma emitir um certificado para mais de um subdomínio aninhado?

    
por light_keeper 02.04.2018 / 21:25

2 respostas

3

Como @Zoredache apontou, os curingas só seguem a profundidade apropriada para a qual eles são criados. Se você tiver um curinga para *.example.com , apenas os domínios nesse domínio [*].example.com serão válidos. Se você precisar de dois níveis, terá que criar um certificado de várias camadas abrangendo esses domínios, como *.a.example.com . Eu não posso dizer que já ouvi falar de um certificado de wildcard de múltiplas camadas, então você provavelmente precisaria criar vários curingas por sub-domínio.

Você pode criar um único certificado que pode realizar isso por meio do uso de nomes alternativos de assunto (SAN). Basta dar uma olhada no certificado stackoverlow.com e é wild & implantação maluca;)

    
por 02.04.2018 / 21:42
5

Não, você não pode fazer isso. De acordo com RFC 2828 , os curingas do certificado SSL podem ser usados para corresponder a um único componente de nome de domínio, não a múltiplos componentes. Isso foi emendado e esclarecido em RFC 6125 , que estabelece na seção 5.2 que:

   o  The ’*’ (ASCII 42) wildcard character is allowed in the dNSName of
      the subjectAltName extension (and in common name, if used to store
      the host name), but only as the left-most (least significant) DNS
      label in that value.  This wildcard matches any left-most DNS
      label in the server name.  That is, the subject *.example.com
      matches the server names a.example.com and b.example.com, but does
      not match example.com or a.b.example.com.  Implementations MUST
      support wildcards in certificates as specified above, but MAY
      provide a configuration option to disable them.

Em outras palavras, vários curingas não são permitidos e qualquer caractere curinga deve estar no componente mais à esquerda do nome DNS. Isso é repetido na seção 6.4.3, especificando como os clientes devem se comportar quando encontrarem certificados com curingas - qualquer caractere curinga diferente do componente mais à esquerda do nome de domínio deve resultar no certificado não correspondendo ao nome de domínio que você está usando. para. Especificamente, o primeiro ponto no 6.4.3 é:

   1.  The client SHOULD NOT attempt to match a presented identifier in
       which the wildcard character comprises a label other than the
       left-most label (e.g., do not match bar.*.example.net).

Assim, mesmo que você pudesse fazer o Letsencrypt criar esses certificados, os visitantes do seu site ainda não os aceitariam.

    
por 02.04.2018 / 21:51