Selbst-Signiertes Apache Webserver-Zertifikat erstellen: Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) |
||
Zeile 4: | Zeile 4: | ||
Ggf. muss man zuerst OpenSSL installieren | Ggf. muss man zuerst OpenSSL installieren | ||
apt-get install openssl | apt-get install openssl | ||
== Debian Paket ssl-cert == | |||
Wenn man das Debian Paket <code>ssl-cert</code> 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 | |||
== Selbst signiertes Zertifikat mit OpenSSL erstellen == | == Selbst signiertes Zertifikat mit OpenSSL erstellen == | ||
Lokales Verzeichnis für die lokal generierten Zertifikate erstellen: | Lokales Verzeichnis für die lokal generierten Zertifikate erstellen falls ssl-cert nicht installiert ist (siehe oben), z.B.: | ||
mkdir /etc/ssl/localcerts | mkdir /etc/ssl/localcerts | ||
cd /etc/ssl/localcerts | cd /etc/ssl/localcerts | ||
Zeile 22: | Zeile 31: | ||
Common Name (FQDN-Name): domain.tld | Common Name (FQDN-Name): domain.tld | ||
E-Mail Address: webmaster@localhost | E-Mail Address: webmaster@localhost | ||
== Zertifikat in Apache-Webserver einhängen == | == Zertifikat in Apache-Webserver einhängen == |
Version vom 25. Mai 2025, 21:32 Uhr
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
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
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 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)
Zertifikat überprüfen siehe OpenSSL Werkzeuge