¿Cuántos nombres de host pueden ser compatibles con un certificado SSL comodín? ¿Hay algún límite?

20

¿Cuántos nombres de host pueden ser compatibles con un certificado SSL comodín? ¿Hay algún límite?

    
pregunta Arun 16.10.2014 - 16:14
fuente

3 respuestas

41

Hay dos cosas distintas aquí. Una es sobre el número de nombres de host que puede poner en un certificado. La otra es la noción de "nombres comodín".

En la extensión Nombres alternativos del sujeto , puede poner "nombres alternativos" de tipo% código%. Cada uno de ellos es un "nombre de servidor aceptable" (es decir, los clientes aceptarán el certificado para un servidor que supuestamente usa ese nombre). La notación ASN.1 para la extensión es la siguiente:

   SubjectAltName ::= GeneralNames

   GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

   GeneralName ::= CHOICE {
        otherName                       [0]     OtherName,
        rfc822Name                      [1]     IA5String,
        dNSName                         [2]     IA5String,
        x400Address                     [3]     ORAddress,
        directoryName                   [4]     Name,
        ediPartyName                    [5]     EDIPartyName,
        uniformResourceIdentifier       [6]     IA5String,
        iPAddress                       [7]     OCTET STRING,
        registeredID                    [8]     OBJECT IDENTIFIER }

¿Ver el "MAX"? Significa "sin límite". Puede poner tantos nombres como desee en un certificado.

Bueno, ya que estamos hablando de codificación DER, la longitud total del certificado no debe exceder 702223880805592151456759840151962786569522257399338504974336254522393264865238137237142489540654437582500444843247630303354647534431314931612685275935445798350655833690880801860555545317367555154113605281582053784524026102900245630757473088050106395169337932361665227499793929447186391815763110662594625664 bytes, y cada nombre tomará una docena de bytes o menos (por lo menos). Pero es probable que las bibliotecas y los protocolos existentes impongan limitaciones más estrictas. Por ejemplo, si el certificado se va a usar en SSL / TLS (por ejemplo, un certificado para un servidor web que tiene HTTPS), entonces el certificado DEBE caber dentro de 16 megabytes (su longitud está codificada en un campo de tres bytes, según el protocolo SSL / TLS ). Por lo tanto, puede tener un máximo de aproximadamente un millón de nombres alternativos en un certificado.

Luego, cada uno de los nombres puede ser un nombre de comodín , lo que significa que contiene el carácter "*". El "*" coincidirá con cualquier secuencia de caracteres, excepto los puntos. Los navegadores existentes, de nuevo, imponen otras restricciones, en particular:

  • Solo habrá un carácter "*" en el nombre (por lo tanto, no hay " dNSName " para tomar un caso real).
  • El "*" debe aparecer como primer carácter, no en otra parte (por lo tanto, no hay " *.*.stackexchange.com " para continuar en esa situación de la vida real).
  • El "*" debe representar un componente de nombre completo (por lo tanto, " meta.*.stackexchange.com " pero no " *.example.com ").

Un componente de nombre está limitado a 63 caracteres, y los caracteres deben ser solo letras (mayúsculas y minúsculas), dígitos y el signo menos ("-"), por lo que hay alrededor de 37 64 -2 Los nombres posibles coinciden con un nombre de comodín (comodín) en este caso, pero no existe ningún otro tipo de ejemplo. / p>

Ya que puede tener un millón de nombres alternativos en un certificado, multiplique ese número por un millón, y tendrá el número máximo de nombres de host que coinciden con su "certificado de comodín". Debería ser suficiente para la mayoría de los propósitos.

Tome nota de una confusión común. Decimos "certificado de comodín", pero eso es un nombre inapropiado. Lo que se entiende es "certificado tal que al menos uno de los nombres contenidos es un nombre comodín".

Para ver un ejemplo de la vida real, eche un vistazo al certificado de Google (conéctese a *foo.example.com y luego solicite a su navegador que muestre el certificado). En este momento, el certificado devuelto no contiene menos de 49 nombres alternativos , que son los siguientes:

*.google.com
*.android.com
*.appengine.google.com
*.cloud.google.com
*.google-analytics.com
*.google.ca
*.google.cl
*.google.co.in
*.google.co.jp
*.google.co.uk
*.google.com.ar
*.google.com.au
*.google.com.br
*.google.com.co
*.google.com.mx
*.google.com.tr
*.google.com.vn
*.google.de
*.google.es
*.google.fr
*.google.hu
*.google.it
*.google.nl
*.google.pl
*.google.pt
*.googleadapis.com
*.googleapis.cn
*.googlecommerce.com
*.googlevideo.com
*.gstatic.cn
*.gstatic.com
*.gvt1.com
*.gvt2.com
*.urchin.com
*.url.google.com
*.youtube-nocookie.com
*.youtube.com
*.youtubeeducation.com
*.ytimg.com
android.com
g.co
goo.gl
google-analytics.com
google.com
googlecommerce.com
urchin.com
youtu.be
youtube.com
youtubeeducation.com

Observe que 39 de estos nombres son "comodín". Con los números anteriores, esto significa que este certificado puede potencialmente coincidir con no menos de 903597347355649866781470467925274862378535137947193603387558185645582858131247883907928074534016323811 distintos nombres de host. Y eso es Google : se puede esperar que su certificado "funcione en todas partes".

    
respondido por el Tom Leek 16.10.2014 - 16:45
fuente
7

Un certificado comodín coincide con un patrón, no con un nombre de host o conjunto de nombres de host. Son problemas para *.example.com , lo que significa que cualquier host de formato [subdomain].example.com coincidirá. Tal vez sea notable que esté limitado a un solo nivel, por lo que el certificado de comodín *.example.com podría usarse para sub1.example.com y sub2.example.com , pero no para deeper.sub1.example.com .

Por lo tanto, dado que la coincidencia se basa en un patrón en lugar de nombres de host, no hay límite, y no habría manera de imponer un límite genéricamente, dado que puede usar el certificado en muchos lugares, ninguno de los cuales necesita conocer los otros, o todos los nombres de host específicos para los que se está utilizando.

    
respondido por el Xander 16.10.2014 - 16:25
fuente
1

Según la directriz Autoridad de certificados , el certificado SSL con comodín solo se admite para la seguridad de subdominios de un solo nivel con el mismo nombre de host.

Sin ningún límite, Wildcard SSL puede asegurar subdominios ilimitados de un solo nivel.

    
respondido por el Jake Adley 17.10.2014 - 08:44
fuente

Lea otras preguntas en las etiquetas