{"id":38,"date":"2009-08-31T16:05:05","date_gmt":"2009-08-31T14:05:05","guid":{"rendered":"http:\/\/tn.genano.de\/wordpress\/?p=38"},"modified":"2009-08-31T16:18:57","modified_gmt":"2009-08-31T14:18:57","slug":"self-signed-selbst-signiertes-zertifikat-erstellen","status":"publish","type":"post","link":"https:\/\/tn.genano.de\/wordpress\/2009\/08\/31\/self-signed-selbst-signiertes-zertifikat-erstellen\/","title":{"rendered":"Self Signed (Selbst signiertes) Zertifikat erstellen"},"content":{"rendered":"<h1>Privaten Schl\u00fcssel generieren:<\/h1>\n<p>Zuerst brauchen wir einen privaten Schl\u00fcssel, den generieren wir mit openssl:<\/p>\n<p><strong><span style=\"color: #666699;\"><em>openssl genrsa -des3 -out server.key 1024<\/em><\/span><\/strong><\/p>\n<p>Hier steht die 1024 f\u00fcr die st\u00e4rke (Bitanzahl) des Schl\u00fcssels, je gr\u00f6\u00dfer der Wert, desto sicherer. Allerdings auf je gr\u00f6\u00dfer der Wert, desto mehr rechenaufwand ist n\u00f6tig. Gute werte sind zwischen 1024 und 4096 bit.<\/p>\n<p>Wir erhalten folgende Ausgabe:<\/p>\n<p><strong><em><span style=\"color: #666699;\">openssl genrsa -des3 -out server.key 1024<br \/>\nGenerating RSA private key, 1024 bit long modulus<br \/>\n&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;++++++<br \/>\n&#8230;&#8230;.++++++<br \/>\ne is 65537 (0x10001)<br \/>\nEnter pass phrase for server.key:<br \/>\nVerifying &#8211; Enter pass phrase for server.key:<\/span><\/em><\/strong><\/p>\n<p>Die Passphrase die Ihr hier eingebt m\u00fcsst Ihr euch merken, da wir diese ben\u00f6tigen um die Passphrase hinterher zu entfernen und das Zertifikat zu erstellen. Wollt Ihr das Zertifikat nicht f\u00fcr einen Webserver verwenden oder Ihr habt wirklich starke Sicherheitsanspr\u00fcche, kann es sinnvoll sein, das Passwort zu belassen. Ihr m\u00fcsst die Passphrase dann allerdings bei jedem Start des Apaches eingeben.<\/p>\n<h1>CSR (Certificate Signing Request) generieren<\/h1>\n<p>Jetzt m\u00fcssen wir den CSR generieren. Auch hier ben\u00f6tigen wir wieder openssl.<\/p>\n<p><span style=\"color: #666699;\"><strong><em>openssl req -new -key server.key -out server.csr <\/em><\/strong><\/span><\/p>\n<p>Wenn wir den Befehl abgesetzt haben erhalten wir folgende Ausgabe:<\/p>\n<p><span style=\"color: #666699;\"><em><strong>Enter pass phrase for server.key:<br \/>\nYou are about to be asked to enter information that will be incorporated<br \/>\ninto your certificate request.<br \/>\nWhat you are about to enter is what is called a Distinguished Name or a DN.<br \/>\nThere are quite a few fields but you can leave some blank<br \/>\nFor some fields there will be a default value,<br \/>\nIf you enter &#8218;.&#8216;, the field will be left blank.<br \/>\n&#8212;&#8211;<br \/>\nCountry Name (2 letter code) [GB]:DE<br \/>\nState or Province Name (full name) [Berkshire]:Bavaria<br \/>\nLocality Name (eg, city) [Newbury]:Nuernberg<br \/>\nOrganization Name (eg, company) [My Company Ltd]:Meine Firma<br \/>\nOrganizational Unit Name (eg, section) []:IT<br \/>\nCommon Name (eg, your name or your server&#8217;s hostname) []:tn.genano.de<br \/>\nEmail Address []:nicht.an.schreiben@genano.de<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>Please enter the following &#8218;extra&#8216; attributes<br \/>\nto be sent with your certificate request<br \/>\nA challenge password []:<br \/>\nAn optional company name []:<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><span style=\"color: #000000;\"><span style=\"color: #000000;\">H<\/span>ier tragen wir die Daten ein und kommen schon zum n\u00e4chsten Schritt, dem entfernen der Passphrase.<\/span><\/span><\/p>\n<h1><span style=\"color: #666699;\"><span style=\"color: #000000;\">Passphrase vom Schl\u00fcssel entfernen<\/span><\/span><\/h1>\n<p><span style=\"color: #666699;\"><span style=\"color: #000000;\">Um nicht jedes mal ein Passwort eingeben zu m\u00fcssen wenn wir den Apache starten, entfernen wir die Passphrase vom Schl\u00fcssel. Ich m\u00f6chte allerdings darauf hinweisen, das dieses Vorgehen, sicherheitstechnisch nicht korrekt ist! Aber f\u00fcr die meisten Zwecke ausreicht.<br \/>\n<\/span><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>cp server.key server.key.org<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><span style=\"color: #000000;\">Wir kopieren als erstes mal den Schl\u00fcssel und anschlie\u00dfend entfernen wir die Passphrase<\/span><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>openssl rsa -in server.key.org -out server.key<br \/>\nEnter pass phrase for server.key.org:<br \/>\nwriting RSA key<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><span style=\"color: #000000;\">Dieses eine mal m\u00fcssen wir das PW noch eingeben, dann aber haben wir mit dem server.key einen passwortloen Schl\u00fcssel f\u00fcr unseren Webserver. Jetzt brauchen wir nur noch das Zertifikat.<\/span><\/span><\/p>\n<h1><span style=\"color: #666699;\"><span style=\"color: #000000;\">Zertifikat erstellen<\/span><\/span><\/h1>\n<p><span style=\"color: #666699;\"><span style=\"color: #000000;\">Um ein Zertifikat mit einer G\u00fcltigkeit von 365 Tagen zu erstellen machen wir jetzt folgendes:<\/span><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt<\/strong><\/em><\/span><\/p>\n<p>Wir erhalten folgende Ausgabe:<\/p>\n<p><span style=\"color: #666699;\"><em><strong>Signature ok<br \/>\nsubject=\/C=DE\/ST=Bavaria\/L=Nuernberg\/O=Meine Firma\/OU=IT\/CN=tn.genano.de\/emailAddress=nicht.an.schreiben@genano.de<br \/>\nGetting Private key<\/strong><\/em><\/span><\/p>\n<p>Und tada nun haben wir alles zusammen was wir brauchen.<\/p>\n<h1>Im Apache<\/h1>\n<p>Jetzt m\u00fcssen wir den Kram noch in den Apachen eintragen, hier ein mini Beispiel:<\/p>\n<p><span style=\"color: #666699;\"><em><strong>Listen 443<br \/>\n<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>&lt;VirtualHost *:443&gt;<br \/>\nDocumentRoot &#8222;\/var\/www\/html\/&#8220;<br \/>\nServerName tn.genano.de<br \/>\nServerAdmin webmaster@genano.de<br \/>\nErrorLog \/var\/log\/httpd\/error_log<br \/>\nTransferLog \/var\/log\/httpd\/access_log<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>SSLEngine on<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #666699;\"><em><strong>SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL<br \/>\nSSLCertificateFile \/etc\/ssl\/ServerCerts\/server.crt<br \/>\nSSLCertificateKeyFile \/etc\/ssl\/ServerCerts\/server.key<br \/>\n&lt;Files ~ &#8222;\\.(cgi|shtml|phtml|php3?)$&#8220;&gt;<br \/>\nSSLOptions +StdEnvVars<br \/>\n&lt;\/Files&gt;<br \/>\n&lt;Directory &#8222;\/srv\/www\/cgi-bin&#8220;&gt;<br \/>\nSSLOptions +StdEnvVars<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;Directory &#8222;\/var\/www\/html&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\nAllowOverride All<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Directory&gt;<br \/>\nSetEnvIf User-Agent &#8222;.*MSIE.*&#8220; \\<br \/>\nnokeepalive ssl-unclean-shutdown \\<br \/>\ndowngrade-1.0 force-response-1.0<br \/>\nCustomLog \/var\/log\/httpd\/ssl_request_log\u00a0\u00a0 ssl_combined<br \/>\n&lt;\/VirtualHost&gt;<\/strong><\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Privaten Schl\u00fcssel generieren: Zuerst brauchen wir einen privaten Schl\u00fcssel, den generieren wir mit openssl: openssl genrsa -des3 -out server.key 1024 Hier steht die 1024 f\u00fcr die st\u00e4rke (Bitanzahl) des Schl\u00fcssels, je gr\u00f6\u00dfer der Wert, desto sicherer. Allerdings auf je gr\u00f6\u00dfer &hellip; <a href=\"https:\/\/tn.genano.de\/wordpress\/2009\/08\/31\/self-signed-selbst-signiertes-zertifikat-erstellen\/\">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":{"footnotes":""},"categories":[6],"tags":[14,15,250,16,12,11,20,19,21,17,13,251,18],"class_list":["post-38","post","type-post","status-publish","format-standard","hentry","category-ssl","tag-14","tag-15","tag-apache","tag-bit","tag-httpd","tag-openssl","tag-passphrase","tag-privat","tag-rsa","tag-schlussel","tag-sicherheit","tag-ssl","tag-zertifikat"],"_links":{"self":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":0,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/media?parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/categories?post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/tags?post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}