Selbst-Signiertes Apache Webserver-Zertifikat erstellen: Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) |
||
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
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 <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 | |||
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 | Country Name: DE | ||
State or Province: . | State or Province: . | ||
Locality Name: . | Locality Name: . | ||
Organization Name: . | Organization Name: . | ||
Zeile 16: | Zeile 34: | ||
Common Name (FQDN-Name): domain.tld | Common Name (FQDN-Name): domain.tld | ||
E-Mail Address: webmaster@localhost | 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 | |||
chmod 600 /etc/apache2/ssl/cert.pem | 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 | |||
[[Category:Linux]] | |||
[[Category:Kryptographie]] | |||
[[Category:OpenSSL]] |
Aktuelle Version vom 25. Mai 2025, 21:40 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
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