{"id":6537,"date":"2021-02-21T14:38:10","date_gmt":"2021-02-21T14:38:10","guid":{"rendered":"https:\/\/clue.ch\/?p=6537"},"modified":"2025-12-17T15:09:16","modified_gmt":"2025-12-17T14:09:16","slug":"web-security-part-1-ocsp","status":"publish","type":"post","link":"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/","title":{"rendered":"Web Security Part 1: OCSP"},"content":{"rendered":"<h1>\n<p class=\"entry-title\">Web Security Part 1: OCSP<\/p>\n<\/h1>\n<ul>\n<li>\n<p><a href=\"#\"><\/a><\/p>\n<\/li>\n<li>\n<\/li>\n<li>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\" alt=\"\"><\/p>\n<div>\n<p>Web Applikationen sind aus unserem Alltag nicht mehr wegzudenken und ersetzen native Applikationen in allen Bereichen der Wirtschaft aber auch in der privaten Anwendung. Keine App oder Social Network funktioniert heute noch ohne diese Technologien. Auch die Angriffsfl\u00e4che, die Web Applikationen Angreifern bieten, sind sehr umfangreich und teilweise sehr einfach ausnutzbar.<\/p>\n<p>Dennoch f\u00e4llt es nach wie vor vielen Unternehmen schwer, die Auswirkungen und Risiken, welche durch Schwachstellen und fehlender Abwehrmassnahmen in Webapplikationen bestehen, korrekt einzusch\u00e4tzen.<\/p>\n<p>Aus diesem Grund werden wir in den n\u00e4chsten Monaten mit der Blog-Serie: Web Security auf einige Themen zu Web Application Security eingehen.<\/p>\n<h3>OCSP &amp; OCSP Stapling<\/h3>\n<p>OCSP steht f\u00fcr \u00abOnline Certificate Status Protocol\u00bb und wird von Certificate Authorities (CA) verwendet, um den Wiederruf ausgestellter x509 Zertifikate zu \u00fcberwachen. Dabei k\u00f6nnen Clients wie z.B. Betriebssysteme, Applikationen oder Browser per OCSP Protokoll den Status eines Zertifikates bei einem Validierungsdienst abfragen. OCSP l\u00f6st die bereits in die Jahre gekommenen CRL (Certificate Revocation Lists) ab und bietet einige Vorteile.<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Stapling-Setting-Firefox.png\" alt=\"\"><\/p>\n<div>\n<div class=\"et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h3>Wie funktioniert OCSP?<\/h3>\n<p>Wenn eine SSL\/TLS gesch\u00fctzte Verbindung zu einem Webserver aufgebaut wird, liefert der Webserver als erstes das Webserver x509 Zertifikat an den Client oder Browser aus. In diesem Zertifikat ist eine CRL oder ein OCSP Responder (oder beides) in den Zertifikatseigenschaften hinterlegt. Wenn der Client darauf konfiguriert ist, bevorzugt er die Validieren des Zertifikates per OCSP Protokoll. Daraufhin kontaktiert der Client den OCSP Responder mit der Angabe der Seriennummer des Zertifikates und verlangt dessen \u00dcberpr\u00fcfung. Der OCSP Responder pr\u00fcft das Zertifikat entweder direkt in der CA Datenbank oder in einer CRL Liste und gibt dem Client entweder den Status Good (Nicht revoziert) oder revoked (revoziert).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-request-and-response.png\" alt=\"\"><\/p>\n<div>\n<h3>Vor- und Nachteile von OCSP und CRLs<\/h3>\n<p>Zertifikats- Sperrlisten werden nur in gr\u00f6sseren Zeitlichen Abst\u00e4nden erstellt und ver\u00f6ffentlicht und sind damit nicht immer aktuell. OCSP Abfragen werden zumeist pro Zertifikat ausgestellt und k\u00f6nnen dadurch sekundengenaue Antworten liefern. OCSP kann auch gef\u00e4lschte Zertifikate von g\u00fcltigen Zertifikaten unterscheiden und erkennen, sofern der OCSP Responder von der CA darauf konfiguriert wurde.<\/p>\n<p>Beim Einsatz von Sperrlisten, sogenannten Certificate Revocation Lists (CRL) werden alle revozierten Zertifikate anhand der Seriennummer in dieser Liste aufgef\u00fchrt. Dies f\u00fchrt zu relativ grossen CRL Dateien, welche auf jedem Client heruntergeladen werden. Dies macht die Anwendung vor allem f\u00fcr IoT Ger\u00e4te und andere Ger\u00e4ten mit limitiertem Speicher ineffizient und langsam, denn es muss bei jeder Abfrage die gesamte Datei gepr\u00fcft werden.<\/p>\n<p>Ein weiterer Nachteil von OCSP ist, dass der Client bei jedem Aufruf einer Seite von einem Webserver eine Anfrage an eine dritte Partei ausf\u00fchrt, den Zertifikatsaussteller (CA). Dies verlangsamt nicht nur den Aufruf der Webseite sondern ist auch Datenschutztechnisch bedenklich, da dem Aussteller mitgeteilt wird, welches Zertifikat und damit welche Webseite abgefragt wird.<\/p>\n<p>Um dies zu verhindern, wurde mit RFC6066 (<a href=\"https:\\\/\\\/clue.ch\/\/clue.ch\/\/tools.ietf.org\/html\/rfc6066\">https:\\\/\\\/clue.ch\/\/clue.ch\/\/tools.ietf.org\/html\/rfc6066<\/a>) OCSP Stapling eingef\u00fchrt.<\/p>\n<\/div>\n<div>\n<h4>OCSP Request<\/h4>\n<p>Im folgenden OCSP Request sehen wir die Anfrage an die CA per ermitteltem OCSP Protokoll. Im Request sieht man Angaben zum abgefragten Zertifikat und die Nonce Erweiterung, welche wir sp\u00e4ter erkl\u00e4ren.<\/p>\n<\/div>\n<div>\n<p>        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Request-dump.png\" alt=\"\"><\/p>\n<\/div>\n<div>\n<h4>OCSP Response<\/h4>\n<p>Im folgenden OCSP Response sehen wir die Antwort der CA mit dem Zertifikatsstatus: good. Dies bedeutet das Zertifikat wurde nicht zur\u00fcckgezogen (revoked) aber keinen Hinweis auf den Nonce.<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Response-dump.png\" alt=\"\"><\/p>\n<div>\n<h3>Was ist OCSP Stapling?<\/h3>\n<p>Bei OCSP ist der Client (Browser Agent) daf\u00fcr Verantwortlich, den Zertifikats Status bei der CA abzufragen. Diese Abfragen k\u00f6nnen sowohl eine Verz\u00f6gerung beim Aufruf mit sich ziehen, als auch eine Privacy Verletzung darstellen, da durch diese Abfrage der CA Anbieter in der Lage ist, die Webseiten Aufrufe mit zu protokollieren. Daher wurde die alternative Variante des OCSP Stapling eingef\u00fchrt.<\/p>\n<p>Beim initiieren des TLS Handshakes mit dem Webserver kann dieser in der Antwort die OCSP Validation Message mit dem Zertifikat mitsenden. Damit kann die Anfrage vom Client schneller abgeschlossen werden. Der Webserver agiert als eine Art Proxy f\u00fcr die OCSP Abfrage.<\/p>\n<p>Dabei stellt der Webserver oder Reverse Proxy die OCSP Anfrage an den OCSP Responder und Cached die Antwort entsprechend den Einstellungen nach und beschleunigt damit die Antworten an den Client weiter.<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Stapling.png\" alt=\"\"><\/p>\n<div>\n<div class=\"et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h3>Wie kann man den OCSP Status pr\u00fcfen?<\/h3>\n<p>Das Pr\u00fcfen des OCSP Status ist realtiv einfach durchzuf\u00fchren. F\u00fcr die Abfrage einer korrekten OCSP Stapling Funktion werden einige weitere Schritte notwendig. Wir verwenden in unseren Beispielen das Linux Tool openssl, die Kommandos k\u00f6nnten z.B. aber auch mit curl ausgef\u00fchrt werden.<\/p>\n<\/div>\n<\/div>\n<div class=\"et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h4>OCSP Stapling Traffic Capture<\/h4>\n<p>In diesem Traffic Capture sieht man, dass bei OCSP Stapling keine separate OCSP Verbindung zum OCSP Responder aufgebaut wird, sondern dass die Antwort des Zertifikatsstatus in die TLS Best\u00e4tigung des Webservers implementiert ist.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Stapling-dump.png\" alt=\"\"><\/p>\n<div>\n<h5>Schritt 1<\/h5>\n<p>Zuerst muss das Server Zertifikat vom Webserver abgefragt werden<\/p>\n<\/div>\n<pre><code>openssl s_client -connect clue.ch:443 &lt; \/dev\/null 2&gt;&amp;1 |\u00a0 sed -n \u2039\/\u2014\u2013BEGIN\/,\/\u2014\u2013END\/p\u203a &gt; certificate.pem<\/code><\/pre>\n<div>\n<h5>Schritt 2<\/h5>\n<p>Da SSL Zertifikate in der Regel nie von der Root CA direkt signiert werden, sondern von einer Sub-CA, fragen wir die vollst\u00e4ndige Zertifikatskette ab.<\/p>\n<p>Das erste Zertifikat in der Kette ist das Server Zertifikat, wir entfernen es aus der Datei chain.crt<\/p>\n<\/div>\n<pre><code>openssl s_client -showcerts -connect clue.ch:443 &lt; \/dev\/null 2&gt;&amp;1 |  sed -n \u2039\/\u2014\u2013BEGIN\/,\/\u2014\u2013END\/p\u203a &gt; chain.crt<\/code><\/pre>\n<div>\n<h5>Schritt 3<\/h5>\n<p>Nun lesen wir den zust\u00e4ndigen OCSP Responder f\u00fcr das Server Zertifikat aus.<\/p>\n<\/div>\n<pre><code>openssl x509 -noout -ocsp_uri -in certificate.pem\r\n\r\nhttp:\/\/ocsp.sectigo.com<\/code><\/pre>\n<div>\n<h5>Schritt 4<\/h5>\n<p>Wir haben nun das Server Zertifikat, die Zertifikatskette und den zust\u00e4ndigen OCSP Responder ermittelt. Nun kann eine Anfrage an den Service durchgef\u00fchrt werden<\/p>\n<p>Die Angabe des Host Headers ist speziell f\u00fcr neuere OCSP Responder erforderlich, da diese nicht per HTTP 1.0 Protokoll funktionieren.<\/p>\n<\/div>\n<pre><code>openssl s_client -connect clue.ch:443 &lt; \/dev\/null 2&gt;&amp;1 |\u00a0 sed -n \u2039\/\u2014\u2013BEGIN\/,\/\u2014\u2013END\/p\u203a &gt; certificate.pem<\/code><\/pre>\n<div>\n<h5>Schritt 5<\/h5>\n<p>Nun k\u00f6nnen wir das Ergebnis validieren. Der Zertifikatsstatus kann good oder revoked sein.<\/p>\n<\/div>\n<pre><code>OCSP Request Data:\r\n    Version: 1 (0x0)\r\n    Requestor List:\r\n        Certificate ID:\r\n          Hash Algorithm: sha1\r\n          Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\r\n          Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\n          Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\r\n    Request Extensions:\r\n        OCSP Nonce: \r\n            04101518B5072B8762A2FC7EC37D7CDB32BD\r\nOCSP Response Data:\r\n    OCSP Response Status: successful (0x0)\r\n    Response Type: Basic OCSP Response\r\n    Version: 1 (0x0)\r\n    Responder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\n    Produced At: Feb 19 01:45:49 2021 GMT\r\n    Responses:\r\n    Certificate ID:\r\n      Hash Algorithm: sha1\r\n      Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\r\n      Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\n      Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\r\n    Cert Status: good\r\n    This Update: Feb 19 01:45:49 2021 GMT\r\n    Next Update: Feb 26 01:45:49 2021 GMT<\/code><\/pre>\n<div>\n<h5>Schritt 6<\/h5>\n<p>Nun konnten wir validieren, dass das Zertifikat f\u00fcr OCSP konfiguriert ist und die Abfrage des OCSP Status bei der CA erfolgreich durchgef\u00fchrt werden konnte. In diesem Schritt werden wir den OCSP Stapling Prozess durch den Webserver abfragen.<\/p>\n<\/div>\n<pre><code>openssl s_client -connect cdn.clue.ch:443 -servername cdn.clue.ch -tls1_2 -tlsextdebug -status\r\n\r\n \r\n\r\nOCSP Response Data:\r\n    OCSP Response Status: successful (0x0)\r\n    Response Type: Basic OCSP Response\r\n    Version: 1 (0x0)\r\n    Responder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\n    Produced At: Feb 19 01:45:49 2021 GMT\r\n    Responses:\r\n    Certificate ID:\r\n      Hash Algorithm: sha1\r\n      Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\r\n      Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\n      Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\r\n    Cert Status: good\r\n    This Update: Feb 19 01:45:49 2021 GMT\r\n    Next Update: Feb 26 01:45:49 2021 GMT<\/code><\/pre>\n<div>\n<div class=\"et_pb_module et_pb_text et_pb_text_21  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h3>M\u00f6gliche Fehlerursachen<\/h3>\n<\/div>\n<\/div>\n<div class=\"et_pb_module et_pb_text et_pb_text_22  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h4>Nonce<\/h4>\n<p>M\u00f6glicherweise erhalten wir in unserer Antwort einen Fehler: WARNING: no nonce in response<\/p>\n<p>Die Warnung weist darauf hin, dass unser Openssl Befehl einen nonce als Schutz gegen Replay Attacken mitgegeben hat, der Server diesen in seiner Antwort aber nicht best\u00e4tigt hat. Dies passiert in der Regel weil Certificate Authorities aus Performance Gr\u00fcnden die Antwort Zeiten f\u00fcr OCSP Anfragen so kurz wie m\u00f6glich halten m\u00f6chten.<\/p>\n<p>In dem Fall, dass die nonce Protection nicht korrekt von der CA beantwortet wird, kann per Openssl die Anfrage ohne nonce mit dem -no_nonce switch ausgef\u00fchrt werden.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<pre><code>openssl ocsp -no_nonce -issuer chain.crt -cert certificate.pem -text -url http:\/\/ocsp.sectigo.com -header \u00abHOST\u00bb \u00abocsp.sectigo.com\u00bb<\/code><\/pre>\n<div>\n<div class=\"et_pb_module et_pb_text et_pb_text_23  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h4>OCSP Antwort abgelaufen<\/h4>\n<p>Des \u00f6fteren sieht man bei der \u00dcberpr\u00fcfung der OCSP Konfiguration den Status OCPS Stapling ok, aber zus\u00e4tzlich auch Fehlermeldungen wie \u00abOCSP Response Expired\u00bb. Dies weist darauf hin, dass OCSP Stapling konfiguriert ist, der Webserver oder Reverse Proxy aber den aktuellen Status nicht von der CA abfragen kann. Gr\u00fcnde hierf\u00fcr k\u00f6nnte eine eingeschr\u00e4nkte Netzwerkkommunikation, eine St\u00f6rung beim OCSP Responder oder auch ein fehlendes Vertrauensverh\u00e4ltniss zur CA anhand der x509 Zertifikatskette sein.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/OCSP-Stapling-error-expired.png\" alt=\"\"><\/p>\n<div>\n<h4>Vertrauensverh\u00e4ltnis OCSP Responder<\/h4>\n<p>Die Abfrage des OCSP Services erfolgt per HTTP Protokoll. Dennoch wird eine signierte Antwort als OCSP zur\u00fcckgegeben. Dabei verwenden manche CA\u2019s die selbe Zertifikatskette um den OCSP Responder zu signieren, andere verwenden aber eine separate Zertifikatskette, wie z.B. die GoDaddy CA.<\/p>\n<h5>OCSP Response von Sectigo (Comodo)<\/h5>\n<\/div>\n<pre><code>OCSP Response Data:\r\nOCSP Response Status: successful (0x0)\r\nResponse Type: Basic OCSP Response\r\nVersion: 1 (0x0)\r\nResponder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\nProduced At: Feb 20 23:45:48 2021 GMT\r\nResponses:\r\nCertificate ID:\r\nHash Algorithm: sha1\r\nIssuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\r\nIssuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\r\nSerial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\r\nCert Status: good\r\nThis Update: Feb 20 23:45:48 2021 GMT\r\nNext Update: Feb 27 23:45:48 2021 GMT<\/code><\/pre>\n<div>\n<h5>OCSP Response von GoDaddy<\/h5>\n<\/div>\n<pre><code>OCSP Response Data:\r\nOCSP Response Status: successful (0x0)\r\nResponse Type: Basic OCSP Response\r\nVersion: 1 (0x0)\r\nResponder Id: C = US, ST = Arizona, L = Scottsdale, O = GoDaddy Inc., CN = Go Daddy Validation Authority \u2013 G2\r\nProduced At: Feb 19 20:14:48 2021 GMT\r\nResponses:\r\nCertificate ID:\r\nHash Algorithm: sha1\r\nIssuer Name Hash: B6080D5F6C6B76EB13E438A5F8660BA85233344E\r\nIssuer Key Hash: 40C2BD278ECC348330A233D7FB6CB3F0B42C80CE\r\nSerial Number: 98AD27047908DD8B\r\nCert Status: good\r\nThis Update: Feb 19 20:14:48 2021 GMT\r\nNext Update: Feb 21 08:14:48 2021 GMT<\/code><\/pre>\n<div>\n<p>Dabei kann es vorkommen, dass beim Einsatz von OCSP Stapling der Webserver oder Reverse Proxy, welche in diesem Fall die Anfrage an den eigentlichen OCSP Responder der CA, stellvertretend f\u00fcr den Client durchf\u00fchrt, die Antwort des Responders nicht validieren kann.<\/p>\n<p>In diesem Fall muss die Vertrauensstellung zur OCSP Validation hergestellt werden. Dazu wird das validierende Zertifikat oder die Zertifikatskette in die Liste der zu vertrauenden Aussteller hinzugef\u00fcgt.<\/p>\n<p>Der Fehler zeigt sich z.B. durch diese Fehlermeldung in der Anfrage<\/p>\n<\/div>\n<pre><code>error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get local issuer certificate<\/code><\/pre>\n<div>\n<div class=\"et_pb_row et_pb_row_12\">\n<div class=\"et_pb_column et_pb_column_4_4 et_pb_column_20  et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_27  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h3>Weitere Hilfsmittel<\/h3>\n<p>Es stehen sehr viele online tools und CLI Tools for die Analyse und Troubleshooting von OCSP und weiteren Web Security Mechanismen zur Verf\u00fcgung.<\/p>\n<p>Speziell f\u00fcr die Analyse von OCSP Konfigurationen helfen folgende Seiten weiter.<\/p>\n<p>SSL Labs, ein SSL\/TLS Online Test<br \/><a href=\"https:\\\/\\\/clue.ch\/\/clue.ch\/\/ssllabs.com\/\">https:\\\/\\\/clue.ch\/\/clue.ch\/\/ssllabs.com<\/a><\/p>\n<p>CRT.ch, eine Suchmaschine f\u00fcr x509 Zertifikate<br \/><a href=\"https:\\\/\\\/clue.ch\/\/clue.ch\/\/crt.sh\/\">https:\\\/\\\/clue.ch\/\/clue.ch\/\/crt.sh<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<h3>Web Application Firewalls<\/h3>\n<p>Web Application Firewalls agieren als Reverse Proxy und stehen damit zwischen dem Applications-Nutzer und dem Webserver. Die Web Application Firewall (WAF) bietet Schutzmechanismen, so dass b\u00f6swillige Anfragen an den Webserver bereits blockiert werden, bevor diese \u00fcberhaupt beim Webserver ankommen. Die WAF bietet aber nicht nur diese auf Layer 7 bezogenen Security Mechanismen sondern erleichtert auch eine saubere Konfiguration von SSL\/TLS Zertifikaten und Protokollen, wozu auch eine OCSP Stapling Konfiguration z\u00e4hlt.<\/p>\n<\/div>\n<div>\n<h3>Managed Application Protection<\/h3>\n<div>\n<p class=\"et_pb_module_header\">Clue Application Protection vereint den Betrieb einer Web Application Firewall mit der komplexen Absicherung Ihrer Webapplikation. <a href=\"https:\\\/\\\/clue.ch\/\/clue.ch\/\/clue.ch\/services\/application-protection\/\">Hier geht es zum Service.<\/a><\/p>\n<\/div>\n<\/div>\n<h3>Latest Articles<\/h3>\n<ul>\n<li>\n<\/li>\n<li>\n<\/li>\n<li>\n<\/li>\n<\/ul>\n<p><!--more--><br \/>\n<!-- {\"type\":\"layout\",\"children\":[{\"type\":\"section\",\"props\":{\"html_element\":\"article\",\"image_position\":\"center-center\",\"padding\":\"large\",\"padding_remove_bottom\":false,\"style\":\"default\",\"title_breakpoint\":\"xl\",\"title_position\":\"top-left\",\"title_rotation\":\"left\",\"vertical_align\":\"\",\"width\":\"small\"},\"children\":[{\"type\":\"row\",\"props\":{\"width\":\"small\"},\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"breadcrumbs\",\"props\":{\"show_current\":false,\"show_home\":false}},{\"type\":\"headline\",\"props\":{\"content\":\"\n\n<p class=\\\"entry-title\\\">Web Security Part 1: OCSP<\\\/p>\",\"text_align\":\"left\",\"title_element\":\"h1\",\"title_style\":\"heading-small\"}},{\"type\":\"grid\",\"props\":{\"content_column_breakpoint\":\"m\",\"content_style\":\"text-small\",\"filter_align\":\"left\",\"filter_all\":true,\"filter_grid_breakpoint\":\"m\",\"filter_grid_width\":\"auto\",\"filter_position\":\"top\",\"filter_style\":\"tab\",\"grid_column_align\":true,\"grid_column_gap\":\"small\",\"grid_default\":\"1\",\"grid_divider\":true,\"grid_medium\":\"\",\"grid_row_align\":true,\"grid_row_gap\":\"small\",\"grid_small\":\"auto\",\"icon_width\":80,\"image_align\":\"left\",\"image_border\":\"circle\",\"image_grid_breakpoint\":\"s\",\"image_grid_column_gap\":\"small\",\"image_grid_row_gap\":\"small\",\"image_grid_width\":\"auto\",\"image_height\":\"40\",\"image_link\":false,\"image_svg_color\":\"emphasis\",\"image_vertical_align\":true,\"image_width\":\"40\",\"item_animation\":true,\"link_style\":\"default\",\"link_text\":\"\",\"margin\":\"default\",\"meta_align\":\"below-title\",\"meta_element\":\"div\",\"meta_style\":\"text-meta\",\"panel_link\":true,\"parallax_easing\":\"1\",\"show_content\":true,\"show_image\":true,\"show_link\":true,\"show_meta\":true,\"show_title\":true,\"text_align\":\"left\",\"text_align_breakpoint\":\"s\",\"text_align_fallback\":\"center\",\"title_align\":\"top\",\"title_element\":\"h3\",\"title_grid_breakpoint\":\"m\",\"title_grid_width\":\"1-2\",\"title_hover_style\":\"reset\",\"title_link\":false},\"children\":[{\"type\":\"grid_item\",\"props\":{\"link\":\"#\",\"title\":\"\"},\"source\":{\"query\":{\"name\":\"posts.singlePost\"},\"props\":{\"content\":{\"filters\":{\"search\":\"\"},\"name\":\"author.name\"}}}},{\"type\":\"grid_item\",\"source\":{\"query\":{\"name\":\"posts.singlePost\"},\"props\":{\"content\":{\"filters\":{\"search\":\"\",\"date\":\"\"},\"name\":\"date\"}}}},{\"type\":\"grid_item\",\"source\":{\"query\":{\"name\":\"posts.singlePost\"},\"props\":{\"content\":{\"filters\":{\"search\":\"\"},\"arguments\":{\"separator\":\", \",\"show_link\":true,\"link_style\":\"\"},\"name\":\"categoryString\"}}}}],\"name\":\"Author\"},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/Cover-OCSP-exp.jpg\",\"image_border\":\"rounded\",\"image_box_decoration\":\"shadow\",\"image_focal_point\":\"top-center\",\"image_height\":420,\"image_loading\":true,\"image_svg_color\":\"emphasis\",\"image_width\":900,\"margin\":\"default\",\"text_align\":\"center\"}},{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<p>Web Applikationen sind aus unserem Alltag nicht mehr wegzudenken und ersetzen native Applikationen in allen Bereichen der Wirtschaft aber auch in der privaten Anwendung. Keine App oder Social Network funktioniert heute noch ohne diese Technologien. Auch die Angriffsfl\\u00e4che, die Web Applikationen Angreifern bieten, sind sehr umfangreich und teilweise sehr einfach ausnutzbar.<\\\/p>\\n\n\n<p>Dennoch f\\u00e4llt es nach wie vor vielen Unternehmen schwer, die Auswirkungen und Risiken, welche durch Schwachstellen und fehlender Abwehrmassnahmen in Webapplikationen bestehen, korrekt einzusch\\u00e4tzen.<\\\/p>\\n\n\n<p>Aus diesem Grund werden wir in den n\\u00e4chsten Monaten mit der Blog-Serie: Web Security auf einige Themen zu Web Application Security eingehen.<\\\/p>\\n\n\n<h3>OCSP &amp; OCSP Stapling<\\\/h3>\\n\n\n<p>OCSP steht f\\u00fcr \\u00abOnline Certificate Status Protocol\\u00bb und wird von Certificate Authorities (CA) verwendet, um den Wiederruf ausgestellter x509 Zertifikate zu \\u00fcberwachen. Dabei k\\u00f6nnen Clients wie z.B. Betriebssysteme, Applikationen oder Browser per OCSP Protokoll den Status eines Zertifikates bei einem Validierungsdienst abfragen. OCSP l\\u00f6st die bereits in die Jahre gekommenen CRL (Certificate Revocation Lists) ab und bietet einige Vorteile.<\\\/p>\",\"content_en_gb\":\"\n\n<p>Web applications have become an integral part of our everyday lives and are replacing native applications in all areas of business as well as in private use. Today, no app or social network can function without these technologies. The attack surface that web applications offer attackers is also very extensive and sometimes very easy to exploit.<\\\/p>\\n\n\n<p>Nevertheless, many companies still find it difficult to correctly assess the impact and risks posed by vulnerabilities and a lack of defensive measures in web applications.<\\\/p>\\n\n\n<p>For this reason, over the next few months we will be addressing a number of topics relating to web application security in our blog series: Web Security.<\\\/p>\\n\n\n<h3>OCSP &amp; OCSP Stapling<\\\/h3>\\n\n\n<p>OCSP stands for \\u201cOnline Certificate Status Protocol\\u201d and is used by Certificate Authorities (CA) to monitor the revocation of issued x509 certificates. Clients such as operating systems, applications or browsers can use the OCSP protocol to query the status of a certificate from a validation service. OCSP replaces the outdated CRL (Certificate Revocation Lists) and offers several advantages.<\\\/p>\",\"dropcap\":false,\"margin\":\"medium\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Stapling-Setting-Firefox.png\",\"image_height\":500,\"image_svg_color\":\"emphasis\",\"margin\":\"default\",\"text_align\":\"center\"}},{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h3>Wie funktioniert OCSP?<\\\/h3>\\n\n\n<p>Wenn eine SSL\\\/TLS gesch\\u00fctzte Verbindung zu einem Webserver aufgebaut wird, liefert der Webserver als erstes das Webserver x509 Zertifikat an den Client oder Browser aus. In diesem Zertifikat ist eine CRL oder ein OCSP Responder (oder beides) in den Zertifikatseigenschaften hinterlegt. Wenn der Client darauf konfiguriert ist, bevorzugt er die Validieren des Zertifikates per OCSP Protokoll. Daraufhin kontaktiert der Client den OCSP Responder mit der Angabe der Seriennummer des Zertifikates und verlangt dessen \\u00dcberpr\\u00fcfung. Der OCSP Responder pr\\u00fcft das Zertifikat entweder direkt in der CA Datenbank oder in einer CRL Liste und gibt dem Client entweder den Status Good (Nicht revoziert) oder revoked (revoziert).<\\\/p>\\n<\\\/div>\\n<\\\/div>\",\"content_en_gb\":\"\n\n<h3>How does OCSP work?<\\\/h3>\\n\n\n<p>When an SSL\\\/TLS protected connection to a web server is established, the web server first delivers the web server x509 certificate to the client or browser. This certificate contains a CRL or an OCSP responder (or both) in the certificate properties. If the client is configured for this, it prefers to validate the certificate using the OCSP protocol. The client then contacts the OCSP responder with the serial number of the certificate and requests its verification. The OCSP responder checks the certificate either directly in the CA database or in a CRL list and gives the client either the status Good (not revoked) or Revoked (revoked).<\\\/p>\",\"dropcap\":false,\"margin\":\"medium\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-request-and-response.png\",\"image_height\":500,\"image_svg_color\":\"emphasis\",\"margin\":\"default\",\"text_align\":\"center\"}},{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h3>Vor- und Nachteile von OCSP und CRLs<\\\/h3>\\n\n\n<p>Zertifikats- Sperrlisten werden nur in gr\\u00f6sseren Zeitlichen Abst\\u00e4nden erstellt und ver\\u00f6ffentlicht und sind damit nicht immer aktuell. OCSP Abfragen werden zumeist pro Zertifikat ausgestellt und k\\u00f6nnen dadurch sekundengenaue Antworten liefern. OCSP kann auch gef\\u00e4lschte Zertifikate von g\\u00fcltigen Zertifikaten unterscheiden und erkennen, sofern der OCSP Responder von der CA darauf konfiguriert wurde.<\\\/p>\\n\n\n<p>Beim Einsatz von Sperrlisten, sogenannten Certificate Revocation Lists (CRL) werden alle revozierten Zertifikate anhand der Seriennummer in dieser Liste aufgef\\u00fchrt. Dies f\\u00fchrt zu relativ grossen CRL Dateien, welche auf jedem Client heruntergeladen werden. Dies macht die Anwendung vor allem f\\u00fcr IoT Ger\\u00e4te und andere Ger\\u00e4ten mit limitiertem Speicher ineffizient und langsam, denn es muss bei jeder Abfrage die gesamte Datei gepr\\u00fcft werden.<\\\/p>\\n\n\n<p>Ein weiterer Nachteil von OCSP ist, dass der Client bei jedem Aufruf einer Seite von einem Webserver eine Anfrage an eine dritte Partei ausf\\u00fchrt, den Zertifikatsaussteller (CA). Dies verlangsamt nicht nur den Aufruf der Webseite sondern ist auch Datenschutztechnisch bedenklich, da dem Aussteller mitgeteilt wird, welches Zertifikat und damit welche Webseite abgefragt wird.<\\\/p>\\n\n\n<p>Um dies zu verhindern, wurde mit RFC6066 (<a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/tools.ietf.org\\\/html\\\/rfc6066\\\">https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/tools.ietf.org\\\/html\\\/rfc6066<\\\/a>) OCSP Stapling eingef\\u00fchrt.<\\\/p>\",\"content_en_gb\":\"\n\n<h3>Advantages and disadvantages of OCSP and CRLs<\\\/h3>\\n\n\n<p>Certificate revocation lists are only created and published at longer intervals and are therefore not always up-to-date. OCSP queries are usually issued per certificate and can therefore provide answers to the second. OCSP can also distinguish and recognize forged certificates from valid certificates, provided the OCSP responder has been configured for this by the CA.<\\\/p>\\n\n\n<p>When certificate revocation lists (CRL) are used, all revoked certificates are included in this list based on the serial number. This results in relatively large CRL files, which are downloaded on each client. This makes the application inefficient and slow, especially for IoT devices and other devices with limited memory, as the entire file has to be checked for each query.<\\\/p>\\n\n\n<p>Another disadvantage of OCSP is that each time a page is requested from a web server, the client makes a request to a third party, the certificate issuer (CA). This not only slows down the access to the website but is also questionable in terms of data protection, as the issuer is informed which certificate and therefore which website is being requested.<\\\/p>\\n\n\n<p>To prevent this, OCSP stapling was introduced with RFC6066 (https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/tools.ietf.org\\\/html\\\/rfc6066).<\\\/p>\",\"margin\":\"default\"}}]}]},{\"type\":\"row\",\"props\":{\"layout\":\"1-2,1-2\"},\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\",\"width_medium\":\"1-2\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h4>OCSP Request<\\\/h4>\\n\n\n<p>Im folgenden OCSP Request sehen wir die Anfrage an die CA per ermitteltem OCSP Protokoll. Im Request sieht man Angaben zum abgefragten Zertifikat und die Nonce Erweiterung, welche wir sp\\u00e4ter erkl\\u00e4ren.<\\\/p>\",\"content_en_gb\":\"\n\n<h4>OCSP Request<\\\/h4>\\n\n\n<p>In the following OCSP request, we see the request to the CA using the determined OCSP protocol. The request contains information about the requested certificate and the nonce extension, which we will explain later.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"panel\",\"props\":{\"blend\":false,\"content_column_breakpoint\":\"m\",\"height_expand\":false,\"icon_width\":80,\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Request-dump.png\",\"image_align\":\"top\",\"image_grid_breakpoint\":\"m\",\"image_grid_width\":\"1-2\",\"image_svg_color\":\"emphasis\",\"link_style\":\"default\",\"link_text\":\"Read more\",\"margin\":\"default\",\"margin_remove_bottom\":false,\"margin_remove_top\":false,\"meta_align\":\"below-title\",\"meta_element\":\"div\",\"meta_style\":\"text-meta\",\"title_align\":\"top\",\"title_element\":\"h3\",\"title_grid_breakpoint\":\"m\",\"title_grid_width\":\"1-2\",\"title_hover_style\":\"reset\"}}]},{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\",\"width_medium\":\"1-2\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h4>OCSP Response<\\\/h4>\\n\n\n<p>Im folgenden OCSP Response sehen wir die Antwort der CA mit dem Zertifikatsstatus: good. Dies bedeutet das Zertifikat wurde nicht zur\\u00fcckgezogen (revoked) aber keinen Hinweis auf den Nonce.<\\\/p>\",\"content_en_gb\":\"\n\n<h4>OCSP Response<\\\/h4>\\n\n\n<p>In the following OCSP response, we see the response from the CA with the certificate status: good. This means that the certificate has not been revoked but there is no indication of the nonce.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Response-dump.png\",\"image_svg_color\":\"emphasis\",\"margin\":\"default\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h3>Was ist OCSP Stapling?<\\\/h3>\\n\n\n<p>Bei OCSP ist der Client (Browser Agent) daf\\u00fcr Verantwortlich, den Zertifikats Status bei der CA abzufragen. Diese Abfragen k\\u00f6nnen sowohl eine Verz\\u00f6gerung beim Aufruf mit sich ziehen, als auch eine Privacy Verletzung darstellen, da durch diese Abfrage der CA Anbieter in der Lage ist, die Webseiten Aufrufe mit zu protokollieren. Daher wurde die alternative Variante des OCSP Stapling eingef\\u00fchrt.<\\\/p>\\n\n\n<p>Beim initiieren des TLS Handshakes mit dem Webserver kann dieser in der Antwort die OCSP Validation Message mit dem Zertifikat mitsenden. Damit kann die Anfrage vom Client schneller abgeschlossen werden. Der Webserver agiert als eine Art Proxy f\\u00fcr die OCSP Abfrage.<\\\/p>\\n\n\n<p>Dabei stellt der Webserver oder Reverse Proxy die OCSP Anfrage an den OCSP Responder und Cached die Antwort entsprechend den Einstellungen nach und beschleunigt damit die Antworten an den Client weiter.<\\\/p>\",\"content_en_gb\":\"\n\n<h3>What is OCSP stapling?<\\\/h3>\\n\n\n<p>With OCSP, the client (browser agent) is responsible for requesting the certificate status from the CA. These queries can lead to a delay in accessing the website and also represent a privacy violation, as this query enables the CA provider to log the website accesses. The alternative variant of OCSP stapling was therefore introduced.<\\\/p>\\n\n\n<p>When initiating the TLS handshake with the web server, it can send the OCSP validation message with the certificate in the response. This allows the client to complete the request more quickly. The web server acts as a kind of proxy for the OCSP request.<\\\/p>\\n\n\n<p>The web server or reverse proxy sends the OCSP request to the OCSP responder and caches the response according to the settings, thereby speeding up the responses to the client.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Stapling.png\",\"image_svg_color\":\"emphasis\",\"margin\":\"default\"}},{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h3>Wie kann man den OCSP Status pr\\u00fcfen?<\\\/h3>\\n\n\n<p>Das Pr\\u00fcfen des OCSP Status ist realtiv einfach durchzuf\\u00fchren. F\\u00fcr die Abfrage einer korrekten OCSP Stapling Funktion werden einige weitere Schritte notwendig. Wir verwenden in unseren Beispielen das Linux Tool openssl, die Kommandos k\\u00f6nnten z.B. aber auch mit curl ausgef\\u00fchrt werden.<\\\/p>\\n<\\\/div>\\n<\\\/div>\\n\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h4>OCSP Stapling Traffic Capture<\\\/h4>\\n\n\n<p>In diesem Traffic Capture sieht man, dass bei OCSP Stapling keine separate OCSP Verbindung zum OCSP Responder aufgebaut wird, sondern dass die Antwort des Zertifikatsstatus in die TLS Best\\u00e4tigung des Webservers implementiert ist.<\\\/p>\\n<\\\/div>\\n<\\\/div>\",\"content_en_gb\":\"\n\n<h3>How can I check the OCSP status?<\\\/h3>\\n\n\n<p>Checking the OCSP status is relatively simple. A few further steps are necessary to query a correct OCSP stapling function. We use the Linux tool openssl in our examples, but the commands could also be executed with curl, for example.<\\\/p>\\n\n\n<h4>OCSP Stapling Traffic Capture<\\\/h4>\\n\n\n<p>In this traffic capture you can see that OCSP Stapling does not establish a separate OCSP connection to the OCSP responder, but that the certificate status response is implemented in the TLS confirmation of the web server.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Stapling-dump.png\",\"image_height\":500,\"image_svg_color\":\"emphasis\",\"margin\":\"default\",\"text_align\":\"center\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 1<\\\/h5>\\n\n\n<p>Zuerst muss das Server Zertifikat vom Webserver abgefragt werden<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 1<\\\/h5>\\n\n\n<p>First, the server certificate must be requested from the web server<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl s_client -connect clue.ch:443 < \\\/dev\\\/null 2>&1 |\\u00a0 sed -n \\u2039\\\/\\u2014\\u2013BEGIN\\\/,\\\/\\u2014\\u2013END\\\/p\\u203a > certificate.pem\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 2<\\\/h5>\\n\n\n<p>Da SSL Zertifikate in der Regel nie von der Root CA direkt signiert werden, sondern von einer Sub-CA, fragen wir die vollst\\u00e4ndige Zertifikatskette ab.<\\\/p>\\n\n\n<p>Das erste Zertifikat in der Kette ist das Server Zertifikat, wir entfernen es aus der Datei chain.crt<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 2<\\\/h5>\\n\n\n<p>Since SSL certificates are usually never signed directly by the root CA, but by a sub-CA, we request the complete certificate chain.<\\\/p>\\n\n\n<p>The first certificate in the chain is the server certificate, we remove it from the chain.crt file<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl s_client -showcerts -connect clue.ch:443 < \\\/dev\\\/null 2>&1 |  sed -n \\u2039\\\/\\u2014\\u2013BEGIN\\\/,\\\/\\u2014\\u2013END\\\/p\\u203a > chain.crt\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 3<\\\/h5>\\n\n\n<p>Nun lesen wir den zust\\u00e4ndigen OCSP Responder f\\u00fcr das Server Zertifikat aus.<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 3<\\\/h5>\\n\n\n<p>Now we read the responsible OCSP responder for the server certificate.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl x509 -noout -ocsp_uri -in certificate.pem\\n\\nhttp:\\\/\\\/ocsp.sectigo.com\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 4<\\\/h5>\\n\n\n<p>Wir haben nun das Server Zertifikat, die Zertifikatskette und den zust\\u00e4ndigen OCSP Responder ermittelt. Nun kann eine Anfrage an den Service durchgef\\u00fchrt werden<\\\/p>\\n\n\n<p>Die Angabe des Host Headers ist speziell f\\u00fcr neuere OCSP Responder erforderlich, da diese nicht per HTTP 1.0 Protokoll funktionieren.<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 4<\\\/h5>\\n\n\n<p>We have now determined the server certificate, the certificate chain and the responsible OCSP responder. A request can now be made to the service<\\\/p>\\n\n\n<p>Specifying the host header is especially necessary for newer OCSP responders, as these do not work using the HTTP 1.0 protocol.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl s_client -connect clue.ch:443 < \\\/dev\\\/null 2>&1 |\\u00a0 sed -n \\u2039\\\/\\u2014\\u2013BEGIN\\\/,\\\/\\u2014\\u2013END\\\/p\\u203a > certificate.pem\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 5<\\\/h5>\\n\n\n<p>Nun k\\u00f6nnen wir das Ergebnis validieren. Der Zertifikatsstatus kann good oder revoked sein.<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 5<\\\/h5>\\n\n\n<p>Now we can validate the result. The certificate status can be good or revoked.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"OCSP Request Data:\\n    Version: 1 (0x0)\\n    Requestor List:\\n        Certificate ID:\\n          Hash Algorithm: sha1\\n          Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\\n          Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\n          Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\\n    Request Extensions:\\n        OCSP Nonce: \\n            04101518B5072B8762A2FC7EC37D7CDB32BD\\nOCSP Response Data:\\n    OCSP Response Status: successful (0x0)\\n    Response Type: Basic OCSP Response\\n    Version: 1 (0x0)\\n    Responder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\n    Produced At: Feb 19 01:45:49 2021 GMT\\n    Responses:\\n    Certificate ID:\\n      Hash Algorithm: sha1\\n      Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\\n      Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\n      Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\\n    Cert Status: good\\n    This Update: Feb 19 01:45:49 2021 GMT\\n    Next Update: Feb 26 01:45:49 2021 GMT\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>Schritt 6<\\\/h5>\\n\n\n<p>Nun konnten wir validieren, dass das Zertifikat f\\u00fcr OCSP konfiguriert ist und die Abfrage des OCSP Status bei der CA erfolgreich durchgef\\u00fchrt werden konnte. In diesem Schritt werden wir den OCSP Stapling Prozess durch den Webserver abfragen.<\\\/p>\",\"content_en_gb\":\"\n\n<h5>Step 6<\\\/h5>\\n\n\n<p>We have now been able to validate that the certificate is configured for OCSP and that the OCSP status could be successfully queried from the CA. In this step, we will query the OCSP stapling process through the web server.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl s_client -connect cdn.clue.ch:443 -servername cdn.clue.ch -tls1_2 -tlsextdebug -status\\n\\n \\n\\nOCSP Response Data:\\n    OCSP Response Status: successful (0x0)\\n    Response Type: Basic OCSP Response\\n    Version: 1 (0x0)\\n    Responder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\n    Produced At: Feb 19 01:45:49 2021 GMT\\n    Responses:\\n    Certificate ID:\\n      Hash Algorithm: sha1\\n      Issuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\\n      Issuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\n      Serial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\\n    Cert Status: good\\n    This Update: Feb 19 01:45:49 2021 GMT\\n    Next Update: Feb 26 01:45:49 2021 GMT\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_21  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h3>M\\u00f6gliche Fehlerursachen<\\\/h3>\\n<\\\/div>\\n<\\\/div>\\n\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_22  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h4>Nonce<\\\/h4>\\n\n\n<p>M\\u00f6glicherweise erhalten wir in unserer Antwort einen Fehler: WARNING: no nonce in response<\\\/p>\\n\n\n<p>Die Warnung weist darauf hin, dass unser Openssl Befehl einen nonce als Schutz gegen Replay Attacken mitgegeben hat, der Server diesen in seiner Antwort aber nicht best\\u00e4tigt hat. Dies passiert in der Regel weil Certificate Authorities aus Performance Gr\\u00fcnden die Antwort Zeiten f\\u00fcr OCSP Anfragen so kurz wie m\\u00f6glich halten m\\u00f6chten.<\\\/p>\\n\n\n<p>In dem Fall, dass die nonce Protection nicht korrekt von der CA beantwortet wird, kann per Openssl die Anfrage ohne nonce mit dem -no_nonce switch ausgef\\u00fchrt werden.<\\\/p>\\n<\\\/div>\\n<\\\/div>\",\"content_en_gb\":\"\n\n<h3>Possible causes of errors<\\\/h3>\\n\n\n<h4>Nonce<\\\/h4>\\n\n\n<p>We may receive an error in our response: WARNING: no nonce in response<\\\/p>\\n\n\n<p>The warning indicates that our Openssl command has included a nonce as protection against replay attacks, but the server has not confirmed this in its response. This usually happens because certificate authorities want to keep the response times for OCSP requests as short as possible for performance reasons.<\\\/p>\\n\n\n<p>In the event that the nonce protection is not answered correctly by the CA, the request can be executed via openssl without nonce using the -no_nonce switch.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"openssl ocsp -no_nonce -issuer chain.crt -cert certificate.pem -text -url http:\\\/\\\/ocsp.sectigo.com -header \\u00abHOST\\u00bb \\u00abocsp.sectigo.com\\u00bb\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_23  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h4>OCSP Antwort abgelaufen<\\\/h4>\\n\n\n<p>Des \\u00f6fteren sieht man bei der \\u00dcberpr\\u00fcfung der OCSP Konfiguration den Status OCPS Stapling ok, aber zus\\u00e4tzlich auch Fehlermeldungen wie \\u00abOCSP Response Expired\\u00bb. Dies weist darauf hin, dass OCSP Stapling konfiguriert ist, der Webserver oder Reverse Proxy aber den aktuellen Status nicht von der CA abfragen kann. Gr\\u00fcnde hierf\\u00fcr k\\u00f6nnte eine eingeschr\\u00e4nkte Netzwerkkommunikation, eine St\\u00f6rung beim OCSP Responder oder auch ein fehlendes Vertrauensverh\\u00e4ltniss zur CA anhand der x509 Zertifikatskette sein.<\\\/p>\\n<\\\/div>\\n<\\\/div>\",\"content_en_gb\":\"\n\n<h4>OCSP response expired<\\\/h4>\\n\n\n<p>When checking the OCSP configuration, you often see the status OCPS Stapling ok, but also error messages such as \\u201cOCSP Response Expired\\u201d. This indicates that OCSP stapling is configured, but the web server or reverse proxy cannot query the current status from the CA. The reasons for this could be limited network communication, a fault with the OCSP responder or a lack of trust in the CA based on the x509 certificate chain.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"image\",\"props\":{\"image\":\"wp-content\\\/uploads\\\/2024\\\/08\\\/OCSP-Stapling-error-expired.png\",\"image_svg_color\":\"emphasis\",\"margin\":\"default\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h4>Vertrauensverh\\u00e4ltnis OCSP Responder<\\\/h4>\\n\n\n<p>Die Abfrage des OCSP Services erfolgt per HTTP Protokoll. Dennoch wird eine signierte Antwort als OCSP zur\\u00fcckgegeben. Dabei verwenden manche CA\\u2019s die selbe Zertifikatskette um den OCSP Responder zu signieren, andere verwenden aber eine separate Zertifikatskette, wie z.B. die GoDaddy CA.<\\\/p>\\n\n\n<h5>OCSP Response von Sectigo (Comodo)<\\\/h5>\",\"content_en_gb\":\"\n\n<h4>Relationship of trust OCSP Responder<\\\/h4>\\n\n\n<p>The OCSP service is queried via HTTP protocol. Nevertheless, a signed response is returned as OCSP. Some CAs use the same certificate chain to sign the OCSP responder, while others use a separate certificate chain, such as the GoDaddy CA.<\\\/p>\\n\n\n<h5>OCSP Response from Sectigo (Comodo)<\\\/h5>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"OCSP Response Data:\\nOCSP Response Status: successful (0x0)\\nResponse Type: Basic OCSP Response\\nVersion: 1 (0x0)\\nResponder Id: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\nProduced At: Feb 20 23:45:48 2021 GMT\\nResponses:\\nCertificate ID:\\nHash Algorithm: sha1\\nIssuer Name Hash: 430BD20E4F137A1A6C918F24E5DA7E324D4733C8\\nIssuer Key Hash: 8D8C5EC454AD8AE177E99BF99B05E1B8018D61E1\\nSerial Number: 9C0E54F3A3DF8731F82F8237A5A3F878\\nCert Status: good\\nThis Update: Feb 20 23:45:48 2021 GMT\\nNext Update: Feb 27 23:45:48 2021 GMT\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h5>OCSP Response von GoDaddy<\\\/h5>\",\"content_en_gb\":\"\n\n<h5>OCSP Response from GoDaddy<\\\/h5>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"OCSP Response Data:\\nOCSP Response Status: successful (0x0)\\nResponse Type: Basic OCSP Response\\nVersion: 1 (0x0)\\nResponder Id: C = US, ST = Arizona, L = Scottsdale, O = GoDaddy Inc., CN = Go Daddy Validation Authority \\u2013 G2\\nProduced At: Feb 19 20:14:48 2021 GMT\\nResponses:\\nCertificate ID:\\nHash Algorithm: sha1\\nIssuer Name Hash: B6080D5F6C6B76EB13E438A5F8660BA85233344E\\nIssuer Key Hash: 40C2BD278ECC348330A233D7FB6CB3F0B42C80CE\\nSerial Number: 98AD27047908DD8B\\nCert Status: good\\nThis Update: Feb 19 20:14:48 2021 GMT\\nNext Update: Feb 21 08:14:48 2021 GMT\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<p>Dabei kann es vorkommen, dass beim Einsatz von OCSP Stapling der Webserver oder Reverse Proxy, welche in diesem Fall die Anfrage an den eigentlichen OCSP Responder der CA, stellvertretend f\\u00fcr den Client durchf\\u00fchrt, die Antwort des Responders nicht validieren kann.<\\\/p>\\n\n\n<p>In diesem Fall muss die Vertrauensstellung zur OCSP Validation hergestellt werden. Dazu wird das validierende Zertifikat oder die Zertifikatskette in die Liste der zu vertrauenden Aussteller hinzugef\\u00fcgt.<\\\/p>\\n\n\n<p>Der Fehler zeigt sich z.B. durch diese Fehlermeldung in der Anfrage<\\\/p>\",\"content_en_gb\":\"\n\n<p>When OCSP stapling is used, the web server or reverse proxy, which in this case makes the request to the actual OCSP responder of the CA on behalf of the client, may not be able to validate the responder's response.<\\\/p>\\n\n\n<p>In this case, the position of trust for OCSP validation must be established. To do this, the validating certificate or the certificate chain is added to the list of issuers to be trusted.<\\\/p>\\n\n\n<p>The error is shown, for example, by this error message in the request.<\\\/p>\",\"margin\":\"default\"}},{\"type\":\"code\",\"props\":{\"content\":\"error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get local issuer certificate\"}}]}]},{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<div class=\\\"et_pb_row et_pb_row_12\\\">\\n\n\n<div class=\\\"et_pb_column et_pb_column_4_4 et_pb_column_20  et_pb_css_mix_blend_mode_passthrough et-last-child\\\">\\n\n\n<div class=\\\"et_pb_module et_pb_text et_pb_text_27  et_pb_text_align_left et_pb_bg_layout_light\\\">\\n\n\n<div class=\\\"et_pb_text_inner\\\">\\n\n\n<h3>Weitere Hilfsmittel<\\\/h3>\\n\n\n<p>Es stehen sehr viele online tools und CLI Tools for die Analyse und Troubleshooting von OCSP und weiteren Web Security Mechanismen zur Verf\\u00fcgung.<\\\/p>\\n\n\n<p>Speziell f\\u00fcr die Analyse von OCSP Konfigurationen helfen folgende Seiten weiter.<\\\/p>\\n\n\n<p>SSL Labs, ein SSL\\\/TLS Online Test<br \\\/><a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/ssllabs.com\\\/\\\">https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/ssllabs.com<\\\/a><\\\/p>\\n\n\n<p>CRT.ch, eine Suchmaschine f\\u00fcr x509 Zertifikate<br \\\/><a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/crt.sh\\\/\\\">https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/crt.sh<\\\/a><\\\/p>\\n<\\\/div>\\n<\\\/div>\\n<\\\/div>\\n<\\\/div>\",\"content_en_gb\":\"\n\n<h3>Further tools<\\\/h3>\\n\n\n<p>There are many online tools and CLI tools available for analyzing and troubleshooting OCSP and other web security mechanisms.<\\\/p>\\n\n\n<p>The following pages are especially helpful for analyzing OCSP configurations.<\\\/p>\\n\n\n<p>SSL Labs, an SSL\\\/TLS online test<br \\\/><a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/ssllabs.com\\\">https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/ssllabs.com\\u00a0<\\\/a><\\\/p>\\n\n\n<p>CRT.ch, a search engine for x509 certificates<br \\\/><a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/crt.sh\\\">https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/crt.sh<\\\/a><\\\/p>\",\"margin\":\"default\"}}]}]},{\"type\":\"row\",\"props\":{\"layout\":\"1-2,1-2\"},\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\",\"width_medium\":\"1-2\"},\"children\":[{\"type\":\"text\",\"props\":{\"column_breakpoint\":\"m\",\"content\":\"\n\n<h3>Web Application Firewalls<\\\/h3>\\n\n\n<p>Web Application Firewalls agieren als Reverse Proxy und stehen damit zwischen dem Applications-Nutzer und dem Webserver. Die Web Application Firewall (WAF) bietet Schutzmechanismen, so dass b\\u00f6swillige Anfragen an den Webserver bereits blockiert werden, bevor diese \\u00fcberhaupt beim Webserver ankommen. Die WAF bietet aber nicht nur diese auf Layer 7 bezogenen Security Mechanismen sondern erleichtert auch eine saubere Konfiguration von SSL\\\/TLS Zertifikaten und Protokollen, wozu auch eine OCSP Stapling Konfiguration z\\u00e4hlt.<\\\/p>\",\"content_en_gb\":\"\n\n<h3>Web application firewalls<\\\/h3>\\n\n\n<p>Web application firewalls act as a reverse proxy and therefore stand between the application user and the web server. The web application firewall (WAF) offers protection mechanisms so that malicious requests to the web server are blocked before they even reach the web server. The WAF not only offers these Layer 7-related security mechanisms but also facilitates a clean configuration of SSL\\\/TLS certificates and protocols, which also includes an OCSP stapling configuration.<\\\/p>\",\"margin\":\"default\"}}]},{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\",\"width_medium\":\"1-2\"},\"children\":[{\"type\":\"grid\",\"props\":{\"content_align\":false,\"content_column_breakpoint\":\"m\",\"filter_align\":\"left\",\"filter_all\":true,\"filter_grid_breakpoint\":\"m\",\"filter_grid_width\":\"auto\",\"filter_position\":\"top\",\"filter_style\":\"tab\",\"grid_default\":\"1\",\"grid_medium\":\"\",\"icon_width\":80,\"image_align\":\"left\",\"image_grid_breakpoint\":\"m\",\"image_grid_width\":\"1-2\",\"image_svg_color\":\"emphasis\",\"image_width\":\"60\",\"item_animation\":true,\"link_style\":\"default\",\"link_text\":\"Read more\",\"margin\":\"default\",\"meta_align\":\"below-title\",\"meta_element\":\"div\",\"meta_style\":\"text-meta\",\"panel_padding\":\"small\",\"panel_style\":\"card-primary\",\"show_content\":true,\"show_image\":true,\"show_link\":true,\"show_meta\":true,\"show_title\":true,\"title_align\":\"top\",\"title_element\":\"h3\",\"title_grid_breakpoint\":\"m\",\"title_grid_width\":\"1-2\",\"title_hover_style\":\"reset\"},\"children\":[{\"type\":\"grid_item\",\"props\":{\"content\":\"\n\n<p class=\\\"et_pb_module_header\\\">Clue Application Protection vereint den Betrieb einer Web Application Firewall mit der komplexen Absicherung Ihrer Webapplikation. <a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/clue.ch\\\/services\\\/application-protection\\\/\\\">Hier geht es zum Service.<\\\/a><\\\/p>\",\"content_en_gb\":\"\n\n<p>Clue Application Protection combines the operation of a web application firewall with the complex protection of your web application. <a href=\\\"https:\\\/\\\/clue.ch\/\/clue.ch\\\/\\\/clue.ch\\\/en\\\/services\\\/application-protection\\\/\\\">Click here for the service.<\\\/a><\\\/p>\",\"image\":\"\",\"title\":\"Managed Application Protection\"}}]}]}]}],\"name\":\"Post\"},{\"type\":\"section\",\"props\":{\"image_position\":\"center-center\",\"padding\":\"large\",\"style\":\"default\",\"title_breakpoint\":\"xl\",\"title_position\":\"top-left\",\"title_rotation\":\"left\",\"vertical_align\":\"middle\",\"width\":\"small\"},\"children\":[{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"headline\",\"props\":{\"content\":\"Latest Articles\",\"title_element\":\"h3\",\"title_style\":\"h3\"}},{\"type\":\"panel-slider\",\"props\":{\"blend\":false,\"content_column_breakpoint\":\"m\",\"icon_width\":80,\"id\":\"blog_homepage\",\"image_align\":\"top\",\"image_grid_breakpoint\":\"m\",\"image_grid_width\":\"1-2\",\"image_height\":\"254\",\"image_svg_color\":\"emphasis\",\"image_width\":\"450\",\"link_style\":\"default\",\"link_text\":\"Read more\",\"margin\":\"large\",\"meta_align\":\"below-title\",\"meta_element\":\"div\",\"meta_style\":\"h6\",\"nav\":\"dotnav\",\"nav_align\":\"center\",\"nav_breakpoint\":\"\",\"nav_color\":\"light\",\"nav_margin\":\"large\",\"panel_match\":true,\"panel_padding\":\"default\",\"panel_style\":\"card-default\",\"show_content\":true,\"show_image\":true,\"show_link\":true,\"show_meta\":true,\"show_title\":true,\"slidenav\":\"outside\",\"slidenav_breakpoint\":\"xl\",\"slidenav_margin\":\"medium\",\"slidenav_outside_breakpoint\":\"xl\",\"slider_autoplay_pause\":true,\"slider_gap\":\"default\",\"slider_width\":\"fixed\",\"slider_width_default\":\"1-1\",\"slider_width_large\":\"1-3\",\"slider_width_medium\":\"1-3\",\"slider_width_small\":\"1-2\",\"slider_width_xlarge\":\"1-3\",\"title_align\":\"top\",\"title_element\":\"h3\",\"title_grid_breakpoint\":\"m\",\"title_grid_width\":\"1-2\",\"title_hover_style\":\"reset\",\"title_style\":\"h5\"},\"children\":[{\"type\":\"panel-slider_item\",\"source\":{\"query\":{\"name\":\"posts.customPost\",\"arguments\":{\"terms\":[],\"category_operator\":\"IN\",\"post_tag_operator\":\"IN\",\"users\":[],\"users_operator\":\"IN\",\"offset\":0,\"order\":\"date\",\"order_direction\":\"DESC\"}},\"props\":{\"title\":{\"filters\":{\"search\":\"\"},\"name\":\"title\"},\"image\":{\"filters\":{\"search\":\"\"},\"name\":\"featuredImage.url\"},\"link\":{\"filters\":{\"search\":\"\"},\"name\":\"link\"},\"meta\":{\"filters\":{\"search\":\"\",\"date\":\"\"},\"name\":\"date\"}}}},{\"type\":\"panel-slider_item\",\"source\":{\"query\":{\"name\":\"posts.customPost\",\"arguments\":{\"terms\":[],\"category_operator\":\"IN\",\"post_tag_operator\":\"IN\",\"users\":[],\"users_operator\":\"IN\",\"offset\":1,\"order\":\"date\",\"order_direction\":\"DESC\"}},\"props\":{\"title\":{\"filters\":{\"search\":\"\"},\"name\":\"title\"},\"meta\":{\"filters\":{\"search\":\"\",\"date\":\"\"},\"name\":\"date\"},\"image\":{\"filters\":{\"search\":\"\"},\"name\":\"featuredImage.url\"},\"link\":{\"filters\":{\"search\":\"\"},\"name\":\"link\"}}}},{\"type\":\"panel-slider_item\",\"source\":{\"query\":{\"name\":\"posts.customPost\",\"arguments\":{\"terms\":[],\"category_operator\":\"IN\",\"post_tag_operator\":\"IN\",\"users\":[],\"users_operator\":\"IN\",\"offset\":2,\"order\":\"date\",\"order_direction\":\"DESC\"}},\"props\":{\"title\":{\"filters\":{\"search\":\"\"},\"name\":\"title\"},\"meta\":{\"filters\":{\"search\":\"\",\"date\":\"\"},\"name\":\"date\"},\"image\":{\"filters\":{\"search\":\"\"},\"name\":\"featuredImage.url\"},\"link\":{\"filters\":{\"search\":\"\"},\"name\":\"link\"}}}}],\"name\":\"Panel Slider Blog Posts\"}]}]}],\"name\":\"Latest Articles\"}],\"version\":\"4.4.5\"} --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web Security Part 1: OCSP Web Applikationen sind aus unserem Alltag nicht mehr wegzudenken und ersetzen native Applikationen in allen Bereichen der Wirtschaft aber auch in der privaten Anwendung. Keine App oder Social Network funktioniert heute noch ohne diese Technologien. Auch die Angriffsfl\u00e4che, die Web Applikationen Angreifern bieten, sind sehr umfangreich und teilweise sehr einfach [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6540,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[43,65,71],"tags":[],"class_list":["post-6537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-protection","category-ot-security","category-ssl-tls-security"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Web Security Part 1: OCSP<\/title>\n<meta name=\"description\" content=\"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web Security Part 1: OCSP\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/\" \/>\n<meta property=\"og:site_name\" content=\"CLUE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.instagram.com\/clue.security\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-21T14:38:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-17T14:09:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/clue.ch\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Johannes Raff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Johannes Raff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/\"},\"author\":{\"name\":\"Johannes Raff\",\"@id\":\"https:\/\/clue.ch\/#\/schema\/person\/0cc8e901a3426079f329fc741a09aa53\"},\"headline\":\"Web Security Part 1: OCSP\",\"datePublished\":\"2021-02-21T14:38:10+00:00\",\"dateModified\":\"2025-12-17T14:09:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/\"},\"wordCount\":1454,\"publisher\":{\"@id\":\"https:\/\/clue.ch\/#organization\"},\"image\":{\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\",\"articleSection\":[\"Application Protection\",\"OT Security\",\"SSL\/TLS Security\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/\",\"url\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/\",\"name\":\"Web Security Part 1: OCSP &#8211; CLUE\",\"isPartOf\":{\"@id\":\"https:\/\/clue.ch\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\",\"datePublished\":\"2021-02-21T14:38:10+00:00\",\"dateModified\":\"2025-12-17T14:09:16+00:00\",\"description\":\"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.\",\"breadcrumb\":{\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage\",\"url\":\"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\",\"contentUrl\":\"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/clue.ch\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Security Part 1: OCSP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/clue.ch\/#website\",\"url\":\"https:\/\/clue.ch\/\",\"name\":\"CLUE\",\"description\":\"Cyber Secure\",\"publisher\":{\"@id\":\"https:\/\/clue.ch\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/clue.ch\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/clue.ch\/#organization\",\"name\":\"CLUE Security Services\",\"url\":\"https:\/\/clue.ch\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/clue.ch\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/clue.ch\/wp-content\/uploads\/2024\/02\/CLUE_Logo_Claim_RGB_Color.svg\",\"contentUrl\":\"https:\/\/clue.ch\/wp-content\/uploads\/2024\/02\/CLUE_Logo_Claim_RGB_Color.svg\",\"width\":1,\"height\":1,\"caption\":\"CLUE Security Services\"},\"image\":{\"@id\":\"https:\/\/clue.ch\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/clue.security\/\",\"https:\/\/www.linkedin.com\/company\/clue-security-services\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/clue.ch\/#\/schema\/person\/0cc8e901a3426079f329fc741a09aa53\",\"name\":\"Johannes Raff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/clue.ch\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7fb080f39a63d17b98b8caca3d15735fa5f3a89ff8bad8cc69c593a9770b9ce0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7fb080f39a63d17b98b8caca3d15735fa5f3a89ff8bad8cc69c593a9770b9ce0?s=96&d=mm&r=g\",\"caption\":\"Johannes Raff\"},\"url\":\"https:\/\/clue.de\/en\/blog\/author\/jraff\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Web Security Part 1: OCSP","description":"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.","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:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/","og_locale":"en_GB","og_type":"article","og_title":"Web Security Part 1: OCSP","og_description":"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.","og_url":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/","og_site_name":"CLUE","article_publisher":"https:\/\/www.instagram.com\/clue.security\/","article_published_time":"2021-02-21T14:38:10+00:00","article_modified_time":"2025-12-17T14:09:16+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/clue.ch\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg","type":"image\/jpeg"}],"author":"Johannes Raff","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Johannes Raff","Estimated reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#article","isPartOf":{"@id":"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/"},"author":{"name":"Johannes Raff","@id":"https:\/\/clue.ch\/#\/schema\/person\/0cc8e901a3426079f329fc741a09aa53"},"headline":"Web Security Part 1: OCSP","datePublished":"2021-02-21T14:38:10+00:00","dateModified":"2025-12-17T14:09:16+00:00","mainEntityOfPage":{"@id":"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/"},"wordCount":1454,"publisher":{"@id":"https:\/\/clue.ch\/#organization"},"image":{"@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage"},"thumbnailUrl":"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg","articleSection":["Application Protection","OT Security","SSL\/TLS Security"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/clue.de\/en\/blog\/web-security-part-1-ocsp\/","url":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/","name":"Web Security Part 1: OCSP &#8211; CLUE","isPartOf":{"@id":"https:\/\/clue.ch\/#website"},"primaryImageOfPage":{"@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage"},"image":{"@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage"},"thumbnailUrl":"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg","datePublished":"2021-02-21T14:38:10+00:00","dateModified":"2025-12-17T14:09:16+00:00","description":"Erfahren Sie mehr \u00fcber das Online Certificate Status Protocol (OCSP) und seine Rolle bei der Verbesserung der Sicherheit von Webanwendungen.","breadcrumb":{"@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#primaryimage","url":"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg","contentUrl":"https:\/\/clue.de\/wp-content\/uploads\/2024\/08\/Cover-OCSP-exp.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/clue.ch\/blog\/web-security-part-1-ocsp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/clue.ch\/"},{"@type":"ListItem","position":2,"name":"Web Security Part 1: OCSP"}]},{"@type":"WebSite","@id":"https:\/\/clue.ch\/#website","url":"https:\/\/clue.ch\/","name":"CLUE","description":"Cyber Secure","publisher":{"@id":"https:\/\/clue.ch\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/clue.ch\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/clue.ch\/#organization","name":"CLUE Security Services","url":"https:\/\/clue.ch\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/clue.ch\/#\/schema\/logo\/image\/","url":"https:\/\/clue.ch\/wp-content\/uploads\/2024\/02\/CLUE_Logo_Claim_RGB_Color.svg","contentUrl":"https:\/\/clue.ch\/wp-content\/uploads\/2024\/02\/CLUE_Logo_Claim_RGB_Color.svg","width":1,"height":1,"caption":"CLUE Security Services"},"image":{"@id":"https:\/\/clue.ch\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/clue.security\/","https:\/\/www.linkedin.com\/company\/clue-security-services\/"]},{"@type":"Person","@id":"https:\/\/clue.ch\/#\/schema\/person\/0cc8e901a3426079f329fc741a09aa53","name":"Johannes Raff","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/clue.ch\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7fb080f39a63d17b98b8caca3d15735fa5f3a89ff8bad8cc69c593a9770b9ce0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7fb080f39a63d17b98b8caca3d15735fa5f3a89ff8bad8cc69c593a9770b9ce0?s=96&d=mm&r=g","caption":"Johannes Raff"},"url":"https:\/\/clue.de\/en\/blog\/author\/jraff\/"}]}},"_links":{"self":[{"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/posts\/6537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/comments?post=6537"}],"version-history":[{"count":1,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/posts\/6537\/revisions"}],"predecessor-version":[{"id":14954,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/posts\/6537\/revisions\/14954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/media\/6540"}],"wp:attachment":[{"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/media?parent=6537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/categories?post=6537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clue.de\/en\/wp-json\/wp\/v2\/tags?post=6537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}