{"id":454,"date":"2013-06-10T23:06:57","date_gmt":"2013-06-10T21:06:57","guid":{"rendered":"http:\/\/lkl-it.de\/blog\/?p=454"},"modified":"2013-07-14T11:33:40","modified_gmt":"2013-07-14T09:33:40","slug":"certificate-chaining-im-detail","status":"publish","type":"post","link":"http:\/\/lkl-it.de\/blog\/?p=454","title":{"rendered":"Zertifikatverkettung und Validierung im Detail"},"content":{"rendered":"<p><em>(Erweiterung des Blogeintrags <a title=\"Certificate Chaining \u2013 Prozess mit dem Anwendungen Zertifikate validieren\" href=\"http:\/\/lkl-it.de\/blog\/?p=408\">Certificate Chaining Prozess <\/a> s.u.)<\/em><\/p>\n<p>Der Aufbau der Zertifikatkette und die Auswahl der korrekten Zertifikate der Kette bzw. das Ermitteln der richtigen Reihenfolge der einzelnen Zertifikat geschieht<br \/>\n&#8211; abh\u00e4ngig von den bef\u00fcllten Attributen eines X.509 Endentit\u00e4t-Zertifikats &#8211;<br \/>\n<a title=\"Digitale Zertifikate\" href=\"http:\/\/lkl-it.de\/blog\/?p=176\">(siehe Aufbau von Zertifikaten)<\/a> durch eine der folgenden Methoden:<\/p>\n<ul>\n<li><strong><em>Exact Match<\/em>:<\/strong> Wenn die <em>Authority Key Identifier (AKI) Extension<\/em> im Zertifikat mit dem\u00a0 Namen der \u00fcbergeordneten Zertifizierungsstelle und deren Zertifikatseriennummer gef\u00fcllt ist, wird nach einem Zertifikat am Client gesucht, das diese <strong>Seriennummer<\/strong> und als Antragssteller diesen <strong>CA Namen<\/strong> sowie den passenden <strong>Keymatch<\/strong> (s.u.) enth\u00e4lt.<\/li>\n<\/ul>\n<p style=\"text-align: left; padding-left: 30px;\"><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=466\" rel=\"attachment wp-att-466\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-466\" title=\"ExactMatch\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/ExactMatch1.jpg\" alt=\"ExactMatch\" width=\"1063\" height=\"428\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/ExactMatch1.jpg 1063w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/ExactMatch1-300x120.jpg 300w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/ExactMatch1-1024x412.jpg 1024w\" sizes=\"(max-width: 1063px) 100vw, 1063px\" \/><\/a>Da es pro PKI immer nur eindeutige Seriennummern f\u00fcr Zertifikate\u00a0gibt, wird mit dieser Methode immer ein <strong>eindeutiges<\/strong> Zertifikat gefunden.<\/p>\n<p style=\"text-align: left; padding-left: 30px;\">Sobald das entsprechende Zertifikat aber einmal erneuert wurde, bringt das <em>Exact Match<\/em>-Verfahren kein Ergebnis, da bei jeder Zertifikaterneuerung auch eine neue Seriennummer vergeben wird.<\/p>\n<ul>\n<li><strong><em>Key Match<\/em>:<\/strong> H\u00e4lt die <em>AKI Extension<\/em> nur den Hashwert des \u00f6ffentlichen Schl\u00fcssels der \u00fcbergeordneten CA, so wird ein Zertifikat gesucht, welches bei gleichem Hashalgorithmus einen \u00fcbereinstimmenden Wert in der <em>SKI Extension<\/em> hat. Achtung: Dieses Verfahren ist nicht mehr eindeutig, sobald das Zertifikat der\u00a0 CA <span style=\"text-decoration: underline;\">mit demselben Schl\u00fcsselpaar<\/span> erneuert wird!<\/li>\n<\/ul>\n<p><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=467\" rel=\"attachment wp-att-467\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-467\" title=\"KeyMatchJPG\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/KeyMatchJPG1.jpg\" alt=\"\" width=\"1045\" height=\"324\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/KeyMatchJPG1.jpg 1045w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/KeyMatchJPG1-300x93.jpg 300w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/KeyMatchJPG1-1024x317.jpg 1024w\" sizes=\"(max-width: 1045px) 100vw, 1045px\" \/><\/a><\/p>\n<ul>\n<li><em><strong>Name Match<\/strong>:<\/em> Hat die <em>AKI Extension<\/em> keinen g\u00fcltigen Wert, wird lediglich ein Zertifikat gesucht, das im Feld <em>Subject Name<\/em> den Wert des <em>Issuer Name<\/em> Feldes hat. Achtung: Dieses Verfahren verliert die Eindeutigkeit, wenn die \u00fcbergeordnete CA ihr Zertifikat mit gleichem oder einem neuen Schl\u00fcsselpaar erneuert! Bei nicht gel\u00f6schten alten Zertifikaten, kann dies zur Ablehnung eines Zertifikats aufgrund falscher Zuordnung f\u00fchren!<\/li>\n<\/ul>\n<p><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=468\" rel=\"attachment wp-att-468\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-468\" title=\"NameMatch\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/NameMatch.jpg\" alt=\"NameMatch\" width=\"1021\" height=\"313\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/NameMatch.jpg 1021w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/NameMatch-300x91.jpg 300w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/><\/a><\/p>\n<h3><strong>Fehler bei der Zertifikatvalidierung<\/strong><\/h3>\n<p><span style=\"text-decoration: underline;\">Not Trusted\u00a0Certificate im Internet Explorer<\/span><br \/>\nGrund <strong>fehlender Trust Anchor<\/strong>: dem Zertifikat bzw. dessen Rootzertifikat wird schlicht nicht vertraut oder aber der Aufruf der Website <strong>stimmt nicht<\/strong> exakt mit dem <strong>Common Name (CN) oder<\/strong> einem der <strong>SANs (Subject Alternative Names)<\/strong>\u00a0die im\u00a0Zertifikat hinterlegt wurden\u00a0<strong>\u00fcberein.<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=469\" rel=\"attachment wp-att-469\"><img loading=\"lazy\" class=\"aligncenter  wp-image-469\" title=\"\u00cdECertificateError\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/\u00cdEWarnung.jpg\" alt=\"IECertificateError\" width=\"597\" height=\"323\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/\u00cdEWarnung.jpg 663w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/\u00cdEWarnung-300x162.jpg 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/a><\/strong><\/p>\n<p><span style=\"color: #000000;\">Beispiel: Im Zertifikat gibt es keinen Subject Alternative Name f\u00fcr den www. Alias Aufruf der Website.<\/span><\/p>\n<p><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=492\" rel=\"attachment wp-att-492\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-492\" title=\"fehlenderSANf\u00fcrwww\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/fehlenderSANf\u00fcrwww1.jpg\" alt=\"fehlender SAN f\u00fcr www Aufruf\" width=\"1005\" height=\"479\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/fehlenderSANf\u00fcrwww1.jpg 1005w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/fehlenderSANf\u00fcrwww1-300x142.jpg 300w\" sizes=\"(max-width: 1005px) 100vw, 1005px\" \/><\/a><\/p>\n<p><span style=\"color: #000000;\">Wird nun im Browser<\/span><span style=\"color: #000000;\">\u00a0bspw. <a href=\"https:\/\/www.sslsites.de\/dr-luthardt.de\/ssltest.htm\">https:\/\/www.sslsites.de<\/a> statt <a href=\"https:\/\/sslsites.de\/dr-luthardt.de\/ssltest.htm\">https:\/\/sslsites.de<\/a>\u00a0angegeben kommt es zu einer Fehlermeldung.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"color: #000000; text-decoration: underline;\"><span style=\"text-decoration: underline;\">Fehler in der Zertifikatskette<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><strong>Kette kann nicht aufgebaut werden<\/strong>: \u00dcbergeordnetes CA Zertifikat kann nicht gefunden werden z.B. fehlende Internetverbindung, fehlende oder fehlerhafte Bef\u00fcllung der Certificate Extensions oder importieren der Certificate Chain (.p7b) n\u00f6tig<\/span><\/p>\n<p><span style=\"color: #000000;\"><strong>Stammzertifizierungsstelle ist nicht vertrauensw\u00fcrdig:<\/strong> Die zum Zertifikat geh\u00f6rige RootCA muss erst in die Liste der Trusted Root Authorities am Client aufgenommen werden\u00a0siehe\u00a0<\/span> <a title=\"Windows Certificate Store \/ Windows Zertifikatsspeicher\" href=\"http:\/\/lkl-it.de\/blog\/?p=225\">Windows Certificate Store<\/a> und <a title=\"Trustmanagement f\u00fcr den Endanwender\" href=\"http:\/\/lkl-it.de\/blog\/?p=316\">Trustmanagement<\/a><\/p>\n<p><a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=470\" rel=\"attachment wp-att-470\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-470\" title=\"ChainConstructionErrorAndTrustError\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Kette.jpg\" alt=\"ChainConstructionErrorAndTrustError\" width=\"960\" height=\"295\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Kette.jpg 960w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Kette-300x92.jpg 300w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><span style=\"text-decoration: underline;\">Die Signatur ist besch\u00e4digt<\/span><\/p>\n<div>\n<p style=\"text-align: center;\">Grund z.B. ein fehlerhaftes Bit \/ zerst\u00f6rte Integrit\u00e4t des Zertifikats &#8211; oder aber ein Angreifer hat versucht gespoofte Zertifikate in der Kette unterzubringen.<a href=\"http:\/\/lkl-it.de\/blog\/?attachment_id=478\" rel=\"attachment wp-att-478\"><img loading=\"lazy\" class=\"aligncenter  wp-image-478\" title=\"Besch\u00e4digteSignatur\" src=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Besch\u00e4digteSignatur.jpg\" alt=\"Besch\u00e4digteSignatur\" width=\"410\" height=\"209\" srcset=\"http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Besch\u00e4digteSignatur.jpg 506w, http:\/\/lkl-it.de\/blog\/wp-content\/uploads\/Besch\u00e4digteSignatur-300x152.jpg 300w\" sizes=\"(max-width: 410px) 100vw, 410px\" \/><\/a><\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<div>\n<p>Vgl. Komar, Brian: \u201eWindows Server 2008 PKI and Certificate Security\u201c,\u00a0 <a title=\"Planning and Maintaining a Microsoft Windows 2003 Network Infrastructure\" href=\"http:\/\/www.amazon.de\/Windows-Server%C2%AE-Certificate-Security-PRO-Other\/dp\/0735625166\">Windows Server 2008 Certificate Security<\/a>\u00a0, S.240-243.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>(Erweiterung des Blogeintrags Certificate Chaining Prozess s.u.) Der Aufbau der Zertifikatkette und die Auswahl der korrekten Zertifikate der Kette bzw. das Ermitteln der richtigen Reihenfolge der einzelnen Zertifikat geschieht &#8211; abh\u00e4ngig von den bef\u00fcllten Attributen eines X.509 Endentit\u00e4t-Zertifikats &#8211; (siehe &hellip; <a href=\"http:\/\/lkl-it.de\/blog\/?p=454\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,3],"tags":[],"_links":{"self":[{"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454"}],"collection":[{"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=454"}],"version-history":[{"count":29,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions"}],"predecessor-version":[{"id":545,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions\/545"}],"wp:attachment":[{"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=454"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/lkl-it.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}