{"id":1035,"date":"2020-11-07T13:46:00","date_gmt":"2020-11-07T12:46:00","guid":{"rendered":"http:\/\/archiv.etscheid.biz\/?p=1035"},"modified":"2025-01-24T11:57:37","modified_gmt":"2025-01-24T10:57:37","slug":"ssl-zertifikate-fuer-das-eigene-interne-lan","status":"publish","type":"post","link":"https:\/\/etscheid.biz\/blog\/2020\/11\/07\/ssl-zertifikate-fuer-das-eigene-interne-lan\/","title":{"rendered":"SSL Zertifikate f\u00fcr das eigene interne LAN"},"content":{"rendered":"\n<p>M\u00f6chte man seine Netzwerkger\u00e4te konfigurieren, so erreicht man diese Ger\u00e4te meistens unter der IP-Adresse. Mit HTTP ist das in der Regel kein Problem, aber manche Ger\u00e4te und auch die Browser gehen immer mehr in die Richtung HTTPS. Also mit Verschl\u00fcsselung. Doch dann kommt eigentlich fast immer eine Fehlermeldung des Browsers. Ich wollte jetzt versuchen mit eigenen Zertifikaten auch eine HTTPS Kommunikation einfach zu erm\u00f6glichen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2021\/09\/https-website-internet-security-3344700.jpg\" alt=\"Https Website Internet Security  - skylarvision \/ Pixabay\" style=\"width:160px;height:64px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/pixabay.com\/users\/skylarvision\">skylarvision<\/a> \/ Pixabay<\/figcaption><\/figure>\n<\/div>\n\n\n<!--more-->\n\n\n\n<p>Folgende Fehlermeldung kommt so gut wie immer, wenn man HTTPS Seiten im LAN aufruft:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image.png\" alt=\"\" \/><\/a><figcaption class=\"wp-element-caption\">Screenshot Fehlermeldung Chrome Browser<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Wenn die Ger\u00e4te ein ung\u00fcltiges Zertifikat haben, dann kann man hier \u00fcber &#8222;Erweitert&#8220; auch weiter kommen. Hat das Ger\u00e4t aber gar kein Zertifikat, so ist eine Kommunikation \u00fcber HTTPS gar nicht m\u00f6glich. Hier beschreibe ich nun meine ersten Versuche mit selbst erstellen und signierten Zertifikaten. Diese sind nat\u00fcrlich nur f\u00fcr mein internes Netzwerk gedacht und nicht im \u00f6ffentlichen Internet zu verwenden.<\/p>\n\n\n\n<p>Viel habe ich dazu gelesen und bin dann bei OpenSSL gelandet. Ich habe mir also OpenSSL f\u00fcr Windows runtergeladen und installiert.<\/p>\n\n\n\n<p>Einfach geht dies im CMD Fenster mit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>winget install ShiningLight.OpenSSL.Dev\noder\nwinget install ShiningLight.OpenSSL<\/code><\/pre>\n\n\n\n<p>\u00dcber die Eingabeaufforderungen (CMD) habe ich zwei Parameter gesetzt:<\/p>\n\n\n\n<p><code>set RANDFILE=c:\\Temp.rnd<br>set OPENSSL_CONF=C:\\Program Files\\OpenSSL-Win64\\bin\\openssl.cfg<\/code><\/p>\n\n\n\n<p>Danach \u00f6ffne ich OpenSSL im CMD Fenster, der Ordner der jetzt ge\u00f6ffnet wird ist in der Regel der Ordner des Windwos Nutzers, dort werden jetzt auch die Zertifikate abgelegt, wenn man nicht in einen anderen Ordner springt.<\/p>\n\n\n\n<p><code>\"c:\\program files\\openssl-win64\\bin\\openssl.exe\"<\/code><\/p>\n\n\n\n<p>Zuerst wird die Root CA erstellt. Mit dem ersten Befehl erzeugen wir eine Datei mit dem Schl\u00fcssel und mit dem zweiten Befehl erzeugen wir die Zertifikatsdatei.<\/p>\n\n\n\n<p><code>openssl genrsa -out ca.key 4096<br>openssl req -new -x509 -days 1826 -key ca.key -out ca-test.crt<\/code><\/p>\n\n\n\n<p>Beim Erstellen des Zertifikats wird man aufgefordert weitere Eingaben zu machen. Hier ein Beispiel was man eintragen kann.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image-1.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image-1.png\" alt=\"\" \/><\/a><figcaption class=\"wp-element-caption\">Screenshot CMD Fenster Ausgabe<\/figcaption><\/figure>\n\n\n\n<p>Das Zertifikat ist jetzt 5 Jahre g\u00fcltig.<br>Als n\u00e4chstes werden die Zertifikate f\u00fcr die Endger\u00e4te\/Webservices erstellt. Hierbei arbeite ich mit einer Konfigurationsdatei, da weitere Parameter in der Zertifikat eingetragen werden m\u00fcssen.<br>Als erstes wird wieder der Key f\u00fcr das neue Zertifikat erstellt.<\/p>\n\n\n\n<p><code>openssl genrsa -out Ger\u00e4tename.key 2048 <\/code><\/p>\n\n\n\n<p>Bevor wir jetzt die CSR Datei erstellen m\u00fcssen wir zuerst die Konfig Datei anpassen. Hier meine Version der openssl.cnf Datei.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><mark class=\"has-inline-color has-cyan-bluish-gray-color\">&#091;req]\ndistinguished_name = req_distinguished_name\nreq_extensions = v3_req\n\n&#091;req_distinguished_name]\ncountryName = Country Name (2 letter code)\ncountryName_default = DE\nstateOrProvinceName = State or Province Name (full name)\nstateOrProvinceName_default = NRW\nlocalityName = Locality Name (eg, city)\nlocalityName_default = Bonn\norganizationalUnitName\t= Organizational Unit Name (eg, section)\norganizationalUnitName_default\t= IT\ncommonName = desktop.intern\ncommonName_max\t= 64\n\n&#091; v3_req ]\n# Extensions to add to a certificate request\nbasicConstraints = CA:FALSE\nkeyUsage = nonRepudiation, digitalSignature, keyEncipherment\nsubjectAltName = @alt_names\n\n&#091;alt_names]\nDNS.1 = desktop.intern\nDNS.2 = desktop\nIP.1 = 10.0.1.21<\/mark><\/code><\/pre>\n\n\n\n<p>In diese Datei sollten die distinguished Parameter kontrolliert und angepasst werden dar\u00fcber hinaus auch die Sektion mit alt_names. Hier sollte der DNS Name des Ger\u00e4tes, sowie die IP-Adresse enthalten sein.<br>Jetzt k\u00f6nnen wir mit folgendem Befehl die CSR Datei erstellen.<\/p>\n\n\n\n<p><code>openssl req -new -out Ger\u00e4tename.csr -key Ger\u00e4tename.key -config openssl.cnf<\/code><\/p>\n\n\n\n<p>Falls es zwischendurch zu Fehlern beim erstellen kommt, einfach mal das CMD Fenster schlie\u00dfen und ein neues \u00f6ffnen und dann wieder OpenSSL starten.<br>Jetzt erstellen wir das Zertifikat, die beiden oben erstellten CA Dateien m\u00fcssen im gleichen Ordner sein.<\/p>\n\n\n\n<p><code>openssl x509 -req -days 730 -in Ger\u00e4tename.csr -CA ca-test.crt -CAkey ca.key -set_serial 01 -out Ger\u00e4tename.crt -extensions v3_req -extfile openssl.cnf<\/code><\/p>\n\n\n\n<p>Nun haben wir das erste Zertifikat f\u00fcr eins unserer Ger\u00e4te erstellt. Diese Datei k\u00f6nnen wir jetzt z.B. in eine Fritzbox hochladen. Die Fritzbox ben\u00f6tigt allerdings eine PEM Datei.  Die PEM Datei kann man leicht selber erstellen. Die Datei besteht aus der CRT-Datei und der Key-Datei. Einfach den Inhalt der beiden Dateien mit dem Editor zusammen kopieren.<\/p>\n\n\n\n<p>Damit der Computer jetzt auch das neue Zertifikat im Endger\u00e4t als vertrauensw\u00fcrdig erkennt muss dies manuell installiert werden. Einfach auf die CA-Test.crt Datei mit der rechtne Maustaste klicken und es auf dem Computer (nicht Benutzer) im Ordner Vertrauensw\u00fcrdige Stammzertifizierungsstellen installieren. Jetzt den PC neu starten.<\/p>\n\n\n\n<p>Jetzt sollte beim Aufruf der HTTPS Adresse des Ger\u00e4tes kein Fehler mehr erscheinen und der Browser die Verbindung als sicher erkennen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image-2.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2020\/06\/image-2.png\" alt=\"\" \/><\/a><figcaption class=\"wp-element-caption\">Screenshot Chrome Browser<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>M\u00f6chte man seine Netzwerkger\u00e4te konfigurieren, so erreicht man diese Ger\u00e4te meistens unter der IP-Adresse. Mit HTTP ist das in der Regel kein Problem, aber manche Ger\u00e4te und auch die Browser gehen immer mehr in die Richtung HTTPS. Also mit Verschl\u00fcsselung. Doch dann kommt eigentlich fast immer eine Fehlermeldung des Browsers. Ich wollte jetzt versuchen mit &hellip; <\/p>\n<p class=\"read-more\"><a class=\"readmore-btn\" href=\"https:\/\/etscheid.biz\/blog\/2020\/11\/07\/ssl-zertifikate-fuer-das-eigene-interne-lan\/\">+<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":1333,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[81],"tags":[122,85,202,203,123],"class_list":["post-1035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-windows","tag-https","tag-lan","tag-localnet","tag-openssl","tag-ssl"],"_links":{"self":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/comments?post=1035"}],"version-history":[{"count":6,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1035\/revisions"}],"predecessor-version":[{"id":1893,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1035\/revisions\/1893"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/media\/1333"}],"wp:attachment":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/media?parent=1035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/categories?post=1035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/tags?post=1035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}