{"id":510,"date":"2014-11-12T12:50:50","date_gmt":"2014-11-12T12:50:50","guid":{"rendered":"http:\/\/www.intelli.ch\/?p=510"},"modified":"2019-01-03T10:10:45","modified_gmt":"2019-01-03T10:10:45","slug":"startssl-gratis-zertifikat-erstellen","status":"publish","type":"post","link":"https:\/\/www.dev-metal.ch\/?p=510","title":{"rendered":"StartSSL: Gratis-Zertifikat erstellen"},"content":{"rendered":"<p>Artikel ist deprecated: Siehe neu <a href=\"http:\/\/192.168.2.32:8082\/?p=683\">Let&#8217;s encrypt<\/a><\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Wenn man seinen eigenen Web-Server betreibt, m\u00f6chte man meist auch \u00fcber https (SSL\/TLS) gesicherte Verbindungen aufbauen. Es gibt dabei mehrere Varianten, wie man vorgehen kann. Folgendes Tutorial zeigt sch\u00f6n auf, welche es gibt und wann welche Variante Sinn macht:<\/p>\n<p><a href=\"https:\/\/workaround.org\/ispmail\/wheezy\/tlsifying-your-server\" target=\"_blank\">https:\/\/workaround.org\/ispmail\/wheezy\/tlsifying-your-server<\/a><\/p>\n<p>Ich habe mich f\u00fcr die dritte Variante &#8222;Kostenloses Zertifikat von StartSSL&#8220; entschieden. Das Zertifikat kostet nichts und sollte von den meisten Browsern als vertrauensw\u00fcrdig anerkannt werden:<!--more--><\/p>\n<ul>\n<li>Erstelle key File\n<pre class=\"lang:sh decode:true\">openssl genrsa -des3 -out aa.ddd.ch.key 4096<\/pre>\n<p>Wenn man keine Passphrase-Abfrage m\u00f6chte (siehe <a href=\"https:\/\/www.intelli.ch\/?p=510#Passphrase_bei_Apache-Start\">Passphrase bei Apache Start<\/a>), kann man -des3 weglassen<\/p>\n<pre class=\"lang:sh decode:true\">openssl genrsa -out aa.ddd.ch.key 4096<\/pre>\n<\/li>\n<\/ul>\n<ul>\n<li>Erstelle ein CSR (certificate signing request) File aus dem erstellen Key File:\n<pre class=\"lang:sh decode:true \">openssl req -new -key aa.ddd.ch.key -out aa.ddd.ch.csr<\/pre>\n<\/li>\n<\/ul>\n<p>Die gestellten Fragen alle beantworten. Wichtig ist &#8222;Common Name&#8220;. Hier muss der fully-qualified (z.B aa.ddd.ch) host name eingetragen werden, \u00fcber welchen der server im Internet verf\u00fcgbar sein soll.<\/p>\n<h2>StartSSL<\/h2>\n<p>Das Zertifikat lassen wir bei <a href=\"http:\/\/www.startssl.com\" target=\"_blank\">http:\/\/www.startssl.com<\/a> ausstellen.<\/p>\n<ul>\n<li>Ein Konto bei StartSSL Konto er\u00f6ffnen. Wenn das erledigt ist, bekommt man ein pers\u00f6nliches Zertifikat, welches auf dem Browser installiert wird. Dar\u00fcber l\u00e4sst sich dann das pers\u00f6nliche Konto bei StartSSL administrieren.<\/li>\n<li>Wenn man denn nun ein Konto bei StartSSL hat, muss \u00fcber den &#8222;Validation Wizard&#8220; die e-mail Adresse (z.B. postmaster@ddd.ch) sowie die Dom\u00e4ne (z.B. ddd.ch) validiert werden.<\/li>\n<li>Anschliessend kann \u00fcber den &#8222;Certificates Wizard&#8220; ein &#8222;Web Server SSL\/TLS certificate&#8220; erstellt werden.<\/li>\n<li>Wir benutzen unser eigenes CSR-File und \u00fcberspringen die M\u00f6glichkeit eines bei StartSSL zu generieren.<\/li>\n<li>W\u00e4hle nun die domain und f\u00fcge den Inhalt des oben erstellten CSR Files in die Textbox ein.<\/li>\n<li>Nun Bestellung abschliessen. Wenn alles gut geht, stellt nun StartSSL ein Zertifikat per Mail aus.<\/li>\n<li>Das Zertifikat kann dann nach\n<pre class=\"lang:sh decode:true\">\/etc\/ssl\/certs\/aa.ddd.ch.pem\r\n<\/pre>\n<p>kopiert werden.<\/li>\n<\/ul>\n<h2>Installation auf Apache<\/h2>\n<p>StartSSL beschreibt auch sch\u00f6n, wie man das Zeritifkat unter Apache installiert: <a href=\"http:\/\/www.startssl.com\/?app=21\" target=\"_blank\">http:\/\/www.startssl.com\/?app=21<\/a><\/p>\n<p>Die vorher erstellten Zertifikate auf den Server kopiern und dem Apachen in der Virtual-Host Section eintragen.<br \/>\nDas Zertifikat sub.class1.server.ca.pem kann man von StartSSL unter <a href=\"http:\/\/www.startssl.com\/certs\/sub.class1.server.ca.pem\" target=\"_blank\">http:\/\/www.startssl.com\/certs\/sub.class1.server.ca.pem<\/a> herunterladen.<\/p>\n<pre class=\"lang:sh decode:true\">SSLCertificateFile \/etc\/ssl\/certs\/aa.ddd.ch.pem\r\nSSLCertificateKeyFile \/etc\/ssl\/private\/aa.ddd.ch.key\r\nSSLCertificateChainFile \/etc\/ssl\/certs\/sub.class1.server.ca.pem\r\n<\/pre>\n<h3>Passphrase bei Apache-Start<\/h3>\n<p>Beim Start von Apache wird nun Passphrase abgefragt:<\/p>\n<pre class=\"lang:apache decode:true\">sudo service apache2 restart\r\n* Restarting web server apache2    Apache needs to decrypt your SSL Keys for aa.ddd.ch:443 (RSA)\r\nPlease enter passphrase:           [ OK ]\r\n<\/pre>\n<p>Das erh\u00f6ht zwar die Sicherheit, ist aber auch etwas m\u00fchsam. Es gibt zwei Varianten das zu vereinfachen:<\/p>\n<h3>Einsatz von SSLPassPhraseDialog<\/h3>\n<p>Mittels Script kann das Passphrase dem Apachen \u00fcbermittelt werden. Nat\u00fcrlich muss das Passphrase in diesem Moment im Script stehen.<br \/>\nSiehe<\/p>\n<ul>\n<li>http:\/\/httpd.apache.org\/docs\/current\/mod\/mod_ssl.html#sslpassphrasedialog<\/li>\n<li>http:\/\/www.linuxquestions.org\/questions\/linux-server-73\/apache-requires-ssl-passphrase-671559\/<\/li>\n<li>https:\/\/wiki.apache.org\/httpd\/RemoveSSLCertPassPhrase<\/li>\n<\/ul>\n<h3>Passphrase entfernen<\/h3>\n<p>Passphrase kann nachtr\u00e4glich auch aus dem key entfernt werden:<\/p>\n<pre class=\"lang:sh decode:true\">cd \/etc\/ssl\/private\r\n<\/pre>\n<pre class=\"lang:sh decode:true\">openssl rsa -in aa.ddd.ch.key -out aa.ddd.ch.key.nopass<\/pre>\n<pre class=\"lang:sh decode:true\"> rm \/etc\/ssl\/private\/aa.ddd.ch.key<\/pre>\n<pre class=\"lang:sh decode:true\"> mv \/etc\/ssl\/private\/aa.ddd.ch.key.nopass \/etc\/ssl\/private\/aa.ddd.ch.key<\/pre>\n<pre class=\"lang:sh decode:true\"> chmod go= \/etc\/ssl\/private\/aa.ddd.ch.key<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Artikel ist deprecated: Siehe neu Let&#8217;s encrypt &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Wenn man seinen eigenen Web-Server betreibt, m\u00f6chte man meist auch \u00fcber https (SSL\/TLS) gesicherte Verbindungen aufbauen. Es gibt dabei mehrere Varianten, wie man vorgehen kann. Folgendes Tutorial zeigt sch\u00f6n auf, welche es gibt und wann welche Variante Sinn macht: https:\/\/workaround.org\/ispmail\/wheezy\/tlsifying-your-server Ich habe mich f\u00fcr die dritte Variante [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[34,5],"tags":[22,23],"class_list":["post-510","post","type-post","status-publish","format-standard","hentry","category-apachewebserver","category-linux-diverses","tag-apache","tag-mailserver"],"modified_by":"ralph","_links":{"self":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=510"}],"version-history":[{"count":12,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions"}],"predecessor-version":[{"id":708,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions\/708"}],"wp:attachment":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}