{"id":13568,"date":"2026-10-15T13:00:00","date_gmt":"2026-10-15T11:00:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=13568"},"modified":"2026-10-09T23:06:14","modified_gmt":"2026-10-09T21:06:14","slug":"zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/","title":{"rendered":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert"},"content":{"rendered":"<p>Ein TLS-Handshake sieht aus wie ein einziges Ja oder Nein. Tats\u00e4chlich ist er ein kleiner Beweis: Der Server legt ein Zertifikat vor, und der Client muss daraus einen Pfad zu einer Wurzel bauen, der er ohnehin vertraut. Der Beweis gelingt oder nicht, und die Antwort h\u00e4ngt davon ab, wer fragt.<\/p>\n<p>Genau das \u00fcberrascht. Derselbe Server kann in derselben Sekunde von Chrome anerkannt und von curl abgewiesen werden.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/zertifikatskette-de.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Eine unvollst\u00e4ndige Zertifikatskette, zweimal beurteilt: der Browser holt das fehlende Zwischenzertifikat und kommt durch, curl nicht\"><figcaption>Eine unvollst\u00e4ndige Kette, zwei Urteile &#8211; der Unterschied ist ein Abruf, den nur einer von beiden macht.<\/figcaption><\/figure>\n<h2>Was im Handshake \u00fcbertragen wird<\/h2>\n<p>Der Server sendet sein eigenes Zertifikat, das Blatt, und normalerweise ein oder zwei dar\u00fcber. Das Blatt tr\u00e4gt die Hostnamen, f\u00fcr die es gilt, einen \u00f6ffentlichen Schl\u00fcssel und eine Signatur. Diese Signatur stammt nicht von der Wurzel, sondern von einem Zwischenzertifikat, das seinerseits von der Wurzel signiert wurde.<\/p>\n<p>Die Wurzel selbst wird nie gesendet. Im Vertrauensspeicher des Betriebssystems oder des Browsers liegen einige Hundert davon, und sie sind der einzige Teil, den der Client schon hat.<\/p>\n<p>Der Client braucht also alles zwischen dem Blatt und dieser Wurzel. Sendet der Server das Zwischenzertifikat nicht, entsteht eine L\u00fccke, und eine L\u00fccke hei\u00dft: kein Beweis.<\/p>\n<h2>Das Glied, das verloren geht<\/h2>\n<p>Fast jede Zertifizierungsstelle liefert zwei Dateien: das Zertifikat selbst und ein B\u00fcndel aus Zertifikat und Zwischenzertifikat. Bei Let&#8217;s Encrypt hei\u00dfen sie <code>cert.pem<\/code> und <code>fullchain.pem<\/code>. Die Namen sind keine Zierde.<\/p>\n<p><code>cert.pem<\/code> dort einzutragen, wo <code>fullchain.pem<\/code> hingeh\u00f6rt, ist die h\u00e4ufigste TLS-Fehlkonfiguration \u00fcberhaupt, und der Grund liegt auf der Hand: Die Seite geht danach einwandfrei auf. Nichts warnt, nichts protokolliert, und das Zertifikat ist tats\u00e4chlich g\u00fcltig.<\/p>\n<p>Die L\u00fccke besteht nur f\u00fcr Clients, die sich weigern, sie selbst zu schlie\u00dfen.<\/p>\n<h2>Warum der Browser verzeiht<\/h2>\n<p>In einem Zertifikat steckt ein Feld namens Authority Information Access. Darin steht unter anderem eine Adresse: die Stelle, an der sich das ausstellende Zwischenzertifikat herunterladen l\u00e4sst. Browser nutzen sie. Fehlt der Kette ein Glied, holen sie das fehlende Zertifikat von dieser Adresse, vervollst\u00e4ndigen den Pfad und zeigen das Schloss.<\/p>\n<p>Manche Browser speichern zus\u00e4tzlich Zwischenzertifikate, die sie auf anderen Seiten gesehen haben. Dadurch ist das Problem schwerer nachzustellen: Ein Server mit unvollst\u00e4ndiger Zertifikatskette kann auf zwei Rechnern korrekt zu funktionieren scheinen, aber auf jedem aus einem anderen Grund.<\/p>\n<p>curl, OpenSSL und die meisten HTTP-Bibliotheken in Python, PHP, Go und Java tun das nicht. Diese Clients lesen dasselbe Feld und \u00fcbergehen es, denn ihm zu folgen macht aus einem Handshake zwei Netzuml\u00e4ufe und h\u00e4ngt mitten in eine Verbindung, die direkt sein soll, die Abh\u00e4ngigkeit von einem fremden Host. Die Weigerung ist Absicht.<\/p>\n<p>Daraus entsteht ein Fehlerbild mit sehr klarer Form: Die Website funktioniert, der Verkehr zwischen Maschinen nicht. Ein Zahlungsdienstleister, der einen Webhook aufruft, eine \u00dcberwachungssonde, eine App, ein Partner, der eine API abfragt &#8211; alle melden <code>unable to get local issuer certificate<\/code>, w\u00e4hrend der Browser \u00fcberhaupt nichts anzeigt.<\/p>\n<figure class=\"lw-illu\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/illustrationen\/illu-zertifikatskette.webp\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Zwei Ketten nebeneinander: die obere geschlossen, die untere mit einer offenen L\u00fccke, wo ein Glied fehlt\"><br \/>\n<\/figure>\n<h2>Was zw\u00f6lf Seiten wirklich senden<\/h2>\n<p>Zw\u00f6lf bekannte Adressen wurden am 2. September 2026 gemessen, gelesen wurde allein, was der Server im Handshake anbot.<\/p>\n<p>Sechs sendeten drei Zertifikate, sechs vier. Keine einzige sendete das Blatt allein. Die Laufzeit war bei allen zw\u00f6lf gleich: 90 Tage, wie sie die automatisierten Aussteller vergeben und worauf sich die Branche eingependelt hat. Die Restg\u00fcltigkeit lag zwischen 31 und 88 Tagen, im Mittel bei 70 &#8211; die Streuung, die eine automatische Erneuerung bei zwei Dritteln der Laufzeit erzeugt.<\/p>\n<p>Elf der zw\u00f6lf handelten TLS 1.3 aus, eine blieb bei 1.2. Keine nahm TLS 1.0 an. Neun verwendeten einen ECDSA-Schl\u00fcssel statt RSA. Acht Zertifikate kamen von Let&#8217;s Encrypt, drei von Google Trust Services, eines von Sectigo.<\/p>\n<p>Weit st\u00e4rker als alles andere schwankte die Zahl der Namen im Zertifikat: einer am unteren Ende, 41 bei wikipedia.org. Diese Zahl ist kein G\u00fctezeichen, sondern nur ein Hinweis darauf, wie der Bestand organisiert ist.<\/p>\n<h2>Namen, nicht der Common Name<\/h2>\n<p>Ein zweiter Fehler sieht von au\u00dfen \u00e4hnlich aus. Das Zertifikat ist vollst\u00e4ndig und g\u00fcltig, nur steht der Host nicht darin.<\/p>\n<p>Aktuelle Browser ignorieren den Common Name vollst\u00e4ndig und vergleichen ausschlie\u00dflich die Subject Alternative Names. Ein Zertifikat f\u00fcr <code>example.com<\/code>, in dem <code>www.example.com<\/code> fehlt, deckt genau eine der beiden Adressen ab, und die Weiterleitung zwischen ihnen scheitert, bevor sie beginnt.<\/p>\n<p>Platzhalter decken eine Ebene und keine weitere. <code>*.example.com<\/code> passt auf <code>www.example.com<\/code>, aber weder auf <code>example.com<\/code> selbst noch auf <code>a.b.example.com<\/code>. Beide H\u00e4lften dieses Satzes kosten regelm\u00e4\u00dfig jemanden einen Ausfall.<\/p>\n<h2>Lesen ohne Browser<\/h2>\n<p>Der Unterschied, auf den es ankommt, ist im Browser nicht zu sehen, gerade weil der Browser ihn repariert. N\u00f6tig ist ein Client, der das nicht tut.<\/p>\n<pre><code>openssl s_client -connect example.com:443 -servername example.com &lt; \/dev\/null\ncurl -vI https:\/\/example.com\/<\/code><\/pre>\n<p>In der Ausgabe von OpenSSL listet der Block zur Zertifikatskette auf, was der Server gesendet hat. Ein einziger Eintrag hei\u00dft: Das Zwischenzertifikat fehlt, unabh\u00e4ngig davon, ob die Pr\u00fcfzeile darunter ok meldet &#8211; ein lokal zwischengespeichertes Zwischenzertifikat kann auch sie irref\u00fchrend machen. Verl\u00e4sslich ist das Z\u00e4hlen dessen, was ankam.<\/p>\n<p>Dieselbe Lesart ohne Kommandozeile liefert der <a href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tls-certificate-handshake-inspector\/\">TLS-Zertifikat- und Handshake-Inspector<\/a> in der Toolbox: Er \u00f6ffnet den Handshake, verifiziert einmal mit dem Vertrauensspeicher und einmal ohne, listet die Kette genau so auf, wie der Server sie gesendet hat, und probiert danach jede TLS-Version einzeln. Die L\u00fccke erscheint als Kette der L\u00e4nge eins, daneben eine Verifikation, die aus einem lesenswerten Grund gescheitert ist.<\/p>\n<div class=\"lw-faq\">\n<h2>Fragen und Antworten<\/h2>\n<h3>Geh\u00f6rt das Wurzelzertifikat mit in die Kette, die der Server sendet?<\/h3>\n<p>Nein. Der Client muss der Wurzel ohnehin schon vertrauen, eine mitgeschickte Wurzel beweist also nichts und kostet bei jedem Handshake nur Bytes; RFC 8446 erlaubt ausdr\u00fccklich, sie wegzulassen. Entscheidend ist allein, dass jedes Zwischenzertifikat zwischen Blatt und Wurzel dabei ist, und genau das enth\u00e4lt fullchain.pem.<\/p>\n<h3>Die Kette lief monatelang, pl\u00f6tzlich meldet ein Webhook-Absender unable to get local issuer certificate. Woran kann das liegen?<\/h3>\n<p>Wenn am Server nichts ge\u00e4ndert wurde, kommen vor allem zwei Ursachen in Frage, eine auf jeder Seite der Verbindung:<\/p>\n<ol>\n<li>Das Zwischenzertifikat hat gewechselt. Zertifizierungsstellen stellen von Zeit zu Zeit \u00fcber neue Zwischenzertifikate aus. Eine Konfiguration, die cert.pem mit einer einmal von Hand abgelegten Zwischendatei kombiniert, schickt nach der n\u00e4chsten Erneuerung ein Glied, das nicht mehr zum Blatt passt; der Pfad hat dann dieselbe L\u00fccke wie ganz ohne Zwischenzertifikat. fullchain.pem wird bei jeder Erneuerung mit dem passenden Zwischenzertifikat neu geschrieben und hat dieses Problem nicht.<\/li>\n<li>Der Vertrauensspeicher des Clients ist veraltet. Endet die Kette nach einer Erneuerung bei einer anderen Wurzel, fehlt diese wom\u00f6glich in alten Betriebssystemen oder in Container-Images, die lange nicht neu gebaut wurden. Die Meldung ist dieselbe, obwohl der Server alles richtig sendet.<\/li>\n<\/ol>\n<p>Welche der beiden zutrifft, kl\u00e4rt erneutes Z\u00e4hlen: Kommen bei openssl s_client Blatt und Zwischenzertifikat an und verifiziert ein aktuelles System die Kette, liegt das Problem im Vertrauensspeicher des Absenders, und helfen kann nur ein Update seiner CA-Liste.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc8446.html\" target=\"_blank\" rel=\"noopener noreferrer\">RFC 8446: TLS 1.3<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ein Server, der nur sein eigenes Zertifikat sendet, sieht in jedem Browser richtig aus und scheitert in curl, in Zahlungsr\u00fcckl\u00e4ufen und in Webhooks. Der Grund ist eine Reparatur, die Browser stillschweigend vornehmen und andere Clients nicht.<\/p>\n","protected":false},"author":1,"featured_media":13597,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[139],"tags":[92214,92235,92071],"class_list":["post-13568","post","type-post","status-publish","format-standard","hentry","category-tutorials-de-it-networks-de","tag-devops-de","tag-tutorial-de","tag-web-security-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-15T11:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert\",\"datePublished\":\"2026-10-15T11:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/\"},\"wordCount\":1137,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png\",\"keywords\":[\"DevOps\",\"Tutorial\",\"Web Security\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/\",\"name\":\"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png\",\"datePublished\":\"2026-10-15T11:00:00+00:00\",\"description\":\"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/tutorials-de-it-networks-de\\\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik","description":"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/","og_locale":"en_US","og_type":"article","og_title":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik","og_description":"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-10-15T11:00:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert","datePublished":"2026-10-15T11:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/"},"wordCount":1137,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png","keywords":["DevOps","Tutorial","Web Security"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/","name":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png","datePublished":"2026-10-15T11:00:00+00:00","description":"Warum eine unvollst\u00e4ndige TLS-Kette im Browser durchgeht und curl und Webhooks bricht, was zw\u00f6lf bekannte Seiten tats\u00e4chlich senden und wie das fehlende Zwischenzertifikat auff\u00e4llt.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-13568-tls-zertifikatskette-unvollstaendig-g.png","width":1200,"height":630,"caption":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/tutorials-de-it-networks-de\/zertifikatsketten-warum-eine-seite-im-browser-aufgeht-und-in-curl-scheitert\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Zertifikatsketten: Warum eine Seite im Browser aufgeht und in curl scheitert"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=13568"}],"version-history":[{"count":3,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13568\/revisions"}],"predecessor-version":[{"id":22069,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13568\/revisions\/22069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13597"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=13568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=13568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=13568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}