Selbst-Signiertes Apache Webserver-Zertifikat erstellen

Aus MattWiki

Nachfolgend wird beschrieben, wie man mit OpenSSL ein selbst signiertes Zertifikat in Debian erstellen kann, um es für einen Apache Webserver zu verwenden.

Voraussetzungen

Ggf. muss man zuerst OpenSSL installieren

apt-get install openssl

Apache SSL Modul aktivieren:

sudo a2enmod ssl

Debian Paket ssl-cert

Wenn man das Debian Paket ssl-cert installiert, wird ein selbst-signiertes Zertifikat automatisch erstellt:

apt-get install ssl-cert

Das Zertifikat wird abgelegt unter:

/etc/ssl/certs/ssl-cert-snakeoil.pem          # Zertifikat
/etc/ssl/private/ssl-cert-snakeoil.key        # Privater Schlüssel

Es kann folgendermaßen regeneriert werden:

sudo make-ssl-cert generate-default-snakeoil --force-overwrite

Zertifikat überprüfen siehe OpenSSL Werkzeuge

Selbst signiertes Zertifikat mit OpenSSL erstellen

Lokales Verzeichnis für die lokal generierten Zertifikate erstellen falls ssl-cert nicht installiert ist (siehe oben), z.B.:

mkdir /etc/ssl/localcerts
cd /etc/ssl/localcerts

Zertifikat mit privaten und öffentlichen Schlüssel in einer Datei anlegen:

openssl req -x509 -new -days 365 -noenc -out apache.pem -keyout apache.key

Alternative mit RSA:

openssl req -x509 -newkey rsa:4096 -days 365 -nodes -out cert.pem -keyout cert.pem    # 4096 Bit Key

Man kann die Eingabeaufforderungen mit leeren und anonymen Werten füllen - muss man aber nicht, wenn man das Zertifikat ggf. manuell überprüfen will. "." entspricht "leer":

Country Name: DE
State or Province: .
Locality Name: .
Organization Name: .
Organizational Unit Name: .
Common Name (FQDN-Name): domain.tld
E-Mail Address: webmaster@localhost

Zertifikat überprüfen siehe OpenSSL Werkzeuge

Zertifikat in Apache-Webserver einhängen

Unter Umständen unnötig / Sinn unklar

ln -sf /etc/apache2/ssl/cert.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/cert.pem` # Geht ggf. auch ohne

Zugriffsrechte einschränken:

chmod 600 /etc/apache2/ssl/cert.pem
ggf. noch Ownergruppen der cert.pem anpassen? (vgl. andere Dateien)

Nächste Schritte siehe Webserver installieren (Debian)#HTTPS in Apache einrichten

Quelle

https://wiki.debian.org/Self-Signed_Certificate