Wer in diesem Frühjahr für eine Domain ein Zertifikat für ein Jahr gekauft hat, hat eines installiert, das 199 Tage gilt. Die Neuausstellung für den Rest des Jahres muss er selbst einspielen. Die Regeln für öffentlich vertrauenswürdige Zertifikate haben sich am 15. März 2026 geändert, und DigiCert und Sectigo haben schon vorher umgestellt: DigiCert stellt seit dem 24. Februar nichts mehr aus, was länger als 199 Tage gilt, Sectigo seit dem 12. März. Ein DigiCert-Zertifikat vom 24. Februar ist mit Ablauf des 10. September ausgelaufen. Eines vom 15. März über die vollen 200 Tage läuft Ende September aus.

Die 200 Tage sind die erste Stufe eines Zeitplans in den Baseline Requirements, den Regeln, an die sich jede öffentlich vertrauenswürdige Zertifizierungsstelle hält. Version 2.3.0 vom 7. September 2026:

Zertifikat ausgestellt Höchstens gültig Domainprüfung wiederverwendbar
vor dem 15. März 2026 398 Tage 398 Tage
ab dem 15. März 2026 200 Tage 200 Tage
ab dem 15. März 2027 100 Tage 100 Tage
ab dem 15. März 2029 47 Tage 10 Tage

Die Zertifizierungsstellen warten die Termine nicht ab. DigiCert setzt in der eigenen Tabelle die nächste Stufe, 99 Tage, auf Anfang 2027. Let’s Encrypt ist noch weiter vorn: ab dem 10. Februar 2027 gelten seine Standardzertifikate 64 Tage, ab dem 16. Februar 2028 nur noch 45, und eine Domainprüfung bleibt erst 10 Tage, dann 7 Stunden gültig.

Die rechte Spalte ist die, die einen manuellen Ablauf trifft. Ein von Hand bestelltes Zertifikat beginnt mit dem Nachweis, dass Sie die Domain kontrollieren, per DNS-Eintrag, Datei oder E-Mail, außer der letzte Nachweis ist frisch genug. Ab März 2029 heißt frisch genug zehn Tage, bei einem Zertifikat über 47 Tage gehört der Nachweis also zu jeder Bestellung. Eine Domain, deren Zertifikat ein Mensch verlängert, braucht diesen Menschen heute etwa zweimal im Jahr, ab 2027 etwa viermal und ab 2029 etwa achtmal.

Auf einer Domain, die nur weiterleitet, muss das niemand tun. Der Rest dieses Artikels findet die Domains, auf denen es noch jemand tut. Wer noch überlegt, wie er überhaupt weiterleitet, findet die Optionen im Vergleich aller Wege auf Cloudflare.

Eine Weiterleitungsdomain braucht kein Zertifikat, das Sie verlängern

Eine geparkte Domain, oder eine, die nur weiterleitet, braucht ein Zertifikat aus genau einem Grund: Wer https:// eintippt, muss den TLS-Handshake abschließen, bevor Ihre 301 gesendet werden kann. Sonst nutzt auf dieser Domain nichts das Zertifikat. Legen Sie den Eintrag hinter den Proxy von Cloudflare, und das Zertifikat ist Sache von Cloudflare. Die Dokumentation, Stand 16. April 2026:

Universal certificates have a 90-day validity period. The auto renewal period starts 30 days before expiration.

Universal SSL gehört zu jedem Tarif, auch zu Free. Seine 90 Tage liegen schon unter den Grenzen von 2026 und 2027. Sie sind länger als die 47 Tage von 2029, und diese Lücke zu schließen ist auch nicht Ihre Aufgabe:

For Universal certificates, Cloudflare controls the validity periods and certificate authorities (CAs), making sure that renewal always occur.

Der Aufbau, der die Frage ganz erledigt, ist der aus dem Runbook für Portfolios: ein proxierter A-Eintrag auf 192.0.2.1, eine für Dokumentation reservierte Adresse, auf der kein Server antwortet, und eine Weiterleitungsregel am Edge. Hinter der Domain steht kein Server, also gibt es kein Serverzertifikat. Das einzige Zertifikat auf dem Weg ist das, das Cloudflare erneuert.

Domains danach sortieren, wer sie verlängert

Um die Domains zu finden, die nicht zu diesem Aufbau passen, brauchen Sie keine Inventarliste. Das Zertifikat, das jede Domain ausliefert, trägt Anfangs- und Enddatum in sich, und der Abstand dazwischen verrät einiges darüber, wie es dorthin gekommen ist. Das Skript braucht nur openssl und GNU date, dasselbe Paar, mit dem das Prüfskript seine Zertifikatsspalte füllt. Unter macOS nehmen Sie date -j -f '%b %d %T %Y %Z'.

#!/usr/bin/env bash
set -uo pipefail

printf '%-34s %-24s %-9s %s\n' DOMAIN ISSUER LIFETIME LEFT

while read -r domain; do
  [ -z "$domain" ] && continue

  cert=$(echo | openssl s_client -servername "$domain" -connect "$domain:443" 2>/dev/null \
         | openssl x509 -noout -issuer -startdate -enddate 2>/dev/null)
  if [ -z "$cert" ]; then
    printf '%-34s %s\n' "$domain" "no certificate"
    continue
  fi

  issuer=$(printf '%s\n' "$cert" | sed -n 's/^issuer=.*O *= *\([^,]*\).*/\1/p')
  from=$(date -d "$(printf '%s\n' "$cert" | sed -n 's/^notBefore=//p')" +%s)
  until=$(date -d "$(printf '%s\n' "$cert" | sed -n 's/^notAfter=//p')" +%s)

  life=$(( (until - from + 43200) / 86400 ))
  left=$(( (until - $(date +%s)) / 86400 ))

  printf '%-34s %-24.24s %-9s %s\n' "$domain" "${issuer:--}" "${life}d" "${left}d"
done < domains.txt

Die Laufzeit ist auf ganze Tage gerundet, weil die Zertifizierungsstellen beide Enden um Stunden auffüllen. Ein Lauf am 19. September 2026 gegen diese Seite, unseren russischen Host und zum Vergleich ein paar große Websites:

DOMAIN                             ISSUER                   LIFETIME  LEFT
301.sh                             Google Trust Services    90d       89d
www.301.sh                         Google Trust Services    90d       89d
ru.301.sh                          Let's Encrypt            90d       72d
www.paypal.com                     DigiCert Inc             199d      176d
www.salesforce.com                 DigiCert Inc             199d      13d
www.zoom.us                        DigiCert Inc             366d      101d
www.adobe.com                      DigiCert Inc             365d      107d
this-domain-does-not-exist-9f3.com no certificate

Sortiert wird nach der Laufzeit, der Spalte LIFETIME.

90 Tage oder weniger. Eine Maschine hat es ausgestellt, und eine Maschine ersetzt es. Hinter dem Proxy von Cloudflare sollten Sie 90 Tage von Google Trust Services, Let’s Encrypt oder SSL.com sehen; 301.sh wurde wenige Stunden vor dem Lauf neu ausgestellt. Wessen Maschine es ist, verrät die kurze Laufzeit nicht. ru.301.sh steht gar nicht hinter Cloudflare: Die Seite liefert GitHub Pages aus, und GitHub erneuert das Zertifikat von Let’s Encrypt.

199 oder 200 Tage. Das längste Zertifikat, das eine kommerzielle Zertifizierungsstelle nach den neuen Regeln ausstellt, die Sorte, die mit einer Bestellung kommt. Das Zertifikat von www.salesforce.com wurde am 18. März ausgestellt und hat noch 13 Tage. Wer es verlängert, tut das spätestens nach 200 Tagen wieder, und ab dem 15. März 2027 spätestens nach 100.

365 Tage oder mehr. Vor dem 15. März 2026 ausgestellt, einer der letzten seiner Art. Das nächste Zertifikat für diese Domain gilt höchstens 200 Tage, oder 100, wenn es nach dem 15. März 2027 bestellt wird. Auf diesen Domains rückt der Verlängerungstermin näher, ohne dass es irgendwo angekündigt wird.

Kein Zertifikat. Der Handshake kam nicht zustande: Der Name löst nicht auf, oder auf Port 443 antwortet nichts. Wer https:// eintippt, bekommt einen Fehler, bevor irgendeine Weiterleitung laufen kann.

In einem Portfolio, in dem jede Domain hinter Cloudflare stehen soll, heißt eine Laufzeit über 90 Tage: Diese Domain liefert nicht Cloudflare aus. Bei Business und Enterprise kann es ein eigenes hochgeladenes Zertifikat sein, das Cloudflare ebenfalls nicht erneuert. Überall sonst ist es ein Eintrag, der nie proxiert wurde, oder eine Domain, deren Nameserver nie umgezogen sind.

nein

ja

nein

ja

nein, nur Weiterleitung

ja

nein

ja

Zone auf Cloudflare
aktiv?

Wer sie heute ausliefert:
Cloudflare stellt nichts aus,
bis die Nameserver wechseln

Eintrag proxiert?

Sie selbst:
automatisieren
oder den Eintrag proxieren

Antwortet dahinter
ein Server?

Cloudflare:
nichts zu tun

SSL-Modus
Full (Strict)?

Cloudflare für Besucher;
das Serverzertifikat
wird nicht geprüft

Cloudflare für Besucher,
Sie für den Server:
ACME oder Origin CA

Wer das Zertifikat einer Domain verlängert

Das Zertifikat, das das Skript nicht sieht

Hinter dem Proxy liest das Skript das Zertifikat von Cloudflare, das die Besucher bekommen. Leitet Cloudflare die Anfrage an Ihren Server weiter, liegt auf dieser Verbindung ein zweites Zertifikat. Im SSL/TLS-Modus Full (Strict) prüft Cloudflare es, und an dem Tag, an dem es abläuft, bekommen Besucher eine 526 statt Ihrer Seite oder Ihrer Weiterleitung. Kein Browser sieht dieses Zertifikat je, also warnt Sie vorher auch nichts.

Lesen können Sie es, indem Sie sich direkt mit der Adresse des Servers verbinden und die Domain mitgeben:

echo | openssl s_client -connect 203.0.113.10:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -issuer -enddate

Es gibt drei Wege, dieses Zertifikat aus Ihrem Kalender zu streichen.

  1. Auf dem Server automatisieren. Jeder ACME-Client erneuert von selbst. Für den Wechsel auf 64 Tage im Februar 2027 gibt Let’s Encrypt genau einen Rat: „you should verify that your automation is compatible with certificates that have shorter validity periods.“

  2. Ein Origin-CA-Zertifikat von Cloudflare nehmen. Es ist auf jedem Tarif kostenlos und nur für Cloudflare vertrauenswürdig, für niemanden sonst, deshalb gilt der öffentliche Zeitplan dafür nicht: Die API bietet eine Gültigkeit von 7 bis 5.475 Tagen, also 15 Jahre. Die Seite von Cloudflare nennt selbst zwei Bedingungen. Die erste:

    Cloudflare does not currently send expiration notifications for origin CA certificates.

    Die zweite: Es funktioniert nur, solange der Eintrag proxiert bleibt.

    Site visitors may see untrusted certificate errors if you pause Cloudflare or disable proxying on subdomains that use Cloudflare origin CA certificates.

    Notieren Sie das Ablaufdatum an einer Stelle, auf die Sie auch schauen, denn Cloudflare erinnert Sie nicht.

  3. Den Server aus dem Weg nehmen. Wenn der Server nur existiert, um eine Weiterleitung zu senden, verlegen Sie die Weiterleitung zu Cloudflare und richten den Eintrag wie oben auf 192.0.2.1. Das zweite Zertifikat verschwindet mit dem Server.

Wo das bricht

Universal SSL hat Bedingungen. In einem Portfolio steht hinter jeder davon irgendwo in der Liste eine Domain.

Der Eintrag ist nicht proxiert. Ein Eintrag auf DNS only bekommt von Cloudflare kein Zertifikat:

Cloudflare can only serve an SSL/TLS certificate for a DNS record when you set the record’s proxy status to Proxied. If you do not do this, the origin server your record points to will be responsible for supporting SSL/TLS connections.

Die Zone ist noch pending. Universal SSL bekommen Domains, die zu Cloudflare hinzugefügt und dort aktiviert sind. Solange die Nameserver beim Registrar nicht gewechselt sind, gibt es gar kein Zertifikat, und wer viele Zonen auf einmal anlegt, stößt auf ein eigenes Limit.

Der Name liegt zwei Ebenen tief. Bei einem Full Setup deckt das Zertifikat example.com und www.example.com ab, aber nicht www.shop.example.com. Abhilfe schafft der Advanced Certificate Manager mit Total TLS, auf der Tarifseite von Cloudflare am 19. September 2026 für 10 Dollar im Monat gelistet.

Cloudflare zertifiziert den Namen nicht. Aus der Seite zu den Einschränkungen:

Some domains are not eligible for Universal SSL if they contain words that conflict with trademarked domains.

Ein Portfolio mit Namen nahe an Marken findet hier einige seiner Domains. Als Ausweg bietet Cloudflare ein bezahltes Advanced-Zertifikat an, oder ein eigenes bei Business und Enterprise.

Ein CAA-Eintrag an anderer Stelle der Kette. Wenn Sie in einer Zone mit Universal SSL CAA-Einträge anlegen, ergänzt Cloudflare die, die seine Zertifizierungsstellen brauchen. Die Einträge einer Zone, auf die Sie per CNAME zeigen, kann es nicht ändern:

If your hostname CNAMEs to a domain whose zone has restrictive CAA records, those records take precedence — even if your own domain has no CAA records.

Wann sich 301.st lohnt

Für ein paar Domains brauchen Sie uns nicht. Einträge proxieren, Weiterleitungen an den Edge verlegen und das Skript einmal im Quartal laufen lassen. Das dauert eine Minute.

Bei Hunderten Domains muss der Aufbau in dem Moment entstehen, in dem eine Domain dazukommt. 301.st baut ihn für jede Domain, die es aufnimmt: Der Apex bekommt einen proxierten A-Eintrag auf 192.0.2.1, und die Weiterleitung läuft am Edge, also haben diese Domains überhaupt kein Serverzertifikat. Außerdem liest es jeden Tag den Zertifikatsstatus jeder Zone bei Cloudflare aus und zeigt, welche Domains ein Zertifikat haben, das noch aussteht oder scheitert, etwa eines, das wegen eines CAA-Eintrags zwei Sprünge weiter in der Validierung hängt.

Zertifikate auf Ihren eigenen Servern sieht es nicht, und ein Eintrag, den später jemand auf DNS only stellt, ist für Cloudflare kein Zertifikatsfehler. Der Eintrag taucht in der Spalte LIFETIME des Skripts auf, das Serverzertifikat in der openssl-Zeile aus dem vorigen Abschnitt. Legen Sie beides in einen Cron-Job.