it-swarm.com.de

Wie viele Hostnamen kann ein Wildcard-SSL-Zertifikat unterstützen? Gibt es eine Grenze?

Wie viele Hostnamen kann ein Wildcard-SSL-Zertifikat unterstützen? Gibt es eine Grenze?

20
Arun

Hier gibt es zwei verschiedene Dinge. Bei einem geht es um die Anzahl der Hostnamen, die Sie in ein Zertifikat einfügen können. Der andere ist der Begriff "Platzhalternamen".

In der Erweiterung Subject Alt Names können Sie "alternative Namen" vom Typ dNSName einfügen. Jeder von ihnen ist ein "akzeptabler Servername" (d. H. Clients akzeptieren das Zertifikat für einen Server, der angeblich diesen Namen verwendet). Die ASN.1-Notation für die Erweiterung lautet wie folgt:

   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 }

Sehen Sie die "MAX"? Es bedeutet "keine Begrenzung". Sie können so viele Namen in ein Zertifikat einfügen, wie Sie möchten.

Nun, da wir sprechen über DIE-Codierung, die Gesamtlänge des Zertifikats darf nicht mehr 702223880805592151456759840151962786569522257399338504974336254522393264865238137237142489540654437582500444843247630303354647534431314931612685275935445798350655833690880801860555545317367555154113605281582053784524026102900245630757473088050106395169337932361665227499793929447186391815763110662594625664 Bytes, und jeder Name wird ein Dutzend Bytes oder so (zumindest). Bestehende Bibliotheken und Protokolle werden jedoch wahrscheinlich strengere Einschränkungen durchsetzen. Wenn das Zertifikat beispielsweise in SSL/TLS verwendet werden soll (z. B. ein Zertifikat für einen Webserver, der HTTPS ausführt), MUSS das Zertifikat innerhalb von 16 Megabyte passen (seine Länge wird gemäß dem in einem Drei-Byte-Feld codiert) SSL/TLS-Protokoll ). Somit können Sie maximal ungefähr eine Million alternative Namen in einem Zertifikat haben.

Dann kann jeder Name ein Platzhaltername sein, was bedeutet, dass er das Zeichen "*" enthält. Das "*" entspricht einer beliebigen Zeichenfolge mit Ausnahme von Punkten. Bestehende Browser erzwingen wiederum andere Einschränkungen, insbesondere:

  • Der Name darf nur ein "*" Zeichen enthalten (also kein "*.*.stackexchange.com ", um einen tatsächlichen Fall zu nehmen).
  • Das "*" muss als erstes Zeichen erscheinen, nicht anderswo (also kein "meta.*.stackexchange.com ", um mit dieser realen Situation fortzufahren).
  • Das "*" muss für eine vollständige Namenskomponente stehen (daher "*.example.com" aber nicht "*foo.example.com ").

Eine Namenskomponente ist auf 63 Zeichen begrenzt, und die Zeichen dürfen nur Buchstaben (ohne Berücksichtigung der Groß- und Kleinschreibung), Ziffern und das Minuszeichen ("-") sein, sodass es ungefähr 37 gibt64-2 = 23169162752708970943114627382699355445603465075569066753527132965271355336698663689946873706000418559 Mögliche Namen, die mit einem Platzhalternamen übereinstimmen .

Da ein Zertifikat eine Million alternativer Namen enthalten kann, multiplizieren Sie diese Zahl mit einer Million, und Sie erhalten die maximale Anzahl von Hostnamen, die Ihrem "Platzhalterzertifikat" entsprechen. Es sollte für die meisten Zwecke ausreichen.


Beachten Sie eine häufige Verwirrung. Wir sagen "Wildcard-Zertifikat", aber das ist eine falsche Bezeichnung. Gemeint ist "Zertifikat, bei dem mindestens einer der enthaltenen Namen ein Platzhaltername ist".

Ein Beispiel aus der Praxis finden Sie im Google-Zertifikat (Verbindung zu https://www.google.com/, dann bitten Sie Ihren Browser, das Zertifikat anzuzeigen). Derzeit enthält das zurückgegebene Zertifikat nicht weniger als 49 alternative Namen , die folgende sind:

*.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

Beachten Sie, dass 39 dieser Namen "Platzhalter" sind. Mit den obigen Nummern bedeutet dies, dass dieses Zertifikat möglicherweise nicht weniger als 903597347355649866781470467925274862378535137947193603387558185645582858131247883907928074534016323811 verschiedenen Hostnamen entsprechen kann. Und das ist Google - man kann erwarten, dass ihr Zertifikat "überall funktioniert".

40
Tom Leek

Ein Platzhalterzertifikat entspricht einem Muster, nicht einem Hostnamen oder einer Reihe von Hostnamen. Es gibt Probleme mit *.example.com, Was bedeutet, dass jeder Host des Formats [subdomain].example.com Übereinstimmt. Es ist vielleicht bemerkenswert, dass es auf eine einzelne Ebene beschränkt ist, sodass das Platzhalterzertifikat *.example.com Für sub1.example.com Und sub2.example.com Verwendet werden kann, nicht jedoch für deeper.sub1.example.com.

Da die Übereinstimmung eher auf Mustern als auf Hostnamen basiert, gibt es kein Limit und es gibt keine Möglichkeit, ein Limit generisch durchzusetzen, da Sie das Zertifikat an vielen Stellen verwenden können, von denen keiner etwas über die anderen wissen muss. oder alle spezifischen Hostnamen, für die es verwendet wird.

7
Xander

Gemäß Zertifizierungsstelle Richtlinie wird das Wildcard-SSL-Zertifikat nur zur Sicherheit einstufiger Subdomains mit demselben Hostnamen unterstützt.

Wildcard SSL kann unbegrenzt einstufige Subdomains sichern.

1
Jake Adley