SSL Zertifikat selbst erstellen und signieren (für z.B. Apache2)

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Es wird immer Wichtiger Daten Sicher zu übertragen. Aufgrund dessen habe ich micht entschlossen ein kleines Tutorial zu schreiben, wie man ein SSL Key, ein Signing Request (zum signieren) und das dazugehörige Zertifikat erstellt. Anbei noch wie man das ganze in Apache2 integriert!

Die benötigten Pakete installieren:

 apt-get install openssl

SSL Key erstellen:

openssl genrsa -out maffert.key 1024

Signing Request erstellen (braucht man um ein Zertifikat zu erstellen)

openssl req -new -key maffert.key -out maffert.csr

Dabei werden Daten abgefragt, ich trage dort immer folgendes ein (bei „Common Name“, die Domain oder Subdomain eintragen) :

Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:Bielefeld
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:test.maffert.net
Email Address []:certmaster@maffert.net
A challenge password []:.
An optional company name []:.

Zertifikat selbst signieren (für 365 Tage, kann auch beliebig geändert werden):

openssl x509 -req -days 365 -in maffert.csr -signkey maffert.key -out maffert.crt

Apache2 sagen, das er das Modul SSL aktivieren soll

a2enmod ssl

Die erzeugten Dateien kopieren und den Ordner dementsprechend erstellen:

mkdir /etc/ssl/private/test.maffert.net
mv maffert.crt maffert.key /etc/ssl/private/test.maffert.net/

Die vHost von Apache2 editieren und folgendes hinzufügen

SSLEngine on
SSLCertificateFile /etc/ssl/private/test.maffert.net/maffert.crt
SSLCertificateKeyFile /etc/ssl/private/test.maffert.net/maffert.key

Jetzt noch Apache2 neustarten und die Seite sollte via https://domain.de erreichbar sein:

/etc/init.d/apache2 restart

Etwas nützliches

Weiterleitung von HTTP auf HTTPS über die Apache2 Konfiguration (muss in die vHost):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

oder via .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Wichtig hierbei ist mit R=301 zu arbeiten, R=301 definiert explizit den Status Code 301 (permanent redirect) für eine Permanente Weiterleitung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert