Selbst-Signiertes Apache Webserver-Zertifikat erstellen: Unterschied zwischen den Versionen

Aus MattWiki
K Matt verschob die Seite Selbstsigniertes SSL-Zertifikat für Apache erstellen (Debian) nach Selbstsigniertes SSL-Zertifikat erstellen, ohne dabei eine Weiterleitung anzulegen
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Nachfolgend wird beschrieben, wie man mit OpenSSL ein selbst signiertes Zertifikat erstellen kann, um es für einen Apache Webserver zu verwenden.
Nachfolgend wird beschrieben, wie man mit OpenSSL ein selbst signiertes Zertifikat in Debian erstellen kann, um es für einen Apache Webserver zu verwenden.


== Selbst signiertes Zertifikat erstellen ==
== 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:
Zertifikat mit privaten und öffentlichen Schlüssel in einer Datei anlegen:
mkdir -p /etc/apache2/ssl  # Optional Standardpfad /etc/ssl/xxx verwenden
  openssl req -x509 -new -days 365 -noenc -out apache.pem -keyout apache.key
cd /etc/apache2/ssl
Alternative mit RSA:
  openssl req -x509 -new -days 365 -nodes -out cert.pem -keyout cert.pem
  openssl req -x509 -newkey rsa:4096 -days 365 -nodes -out cert.pem -keyout cert.pem    # 4096 Bit Key
  openssl req -x509 -newkey rsa:4096 -days 365 -nodes -out cert.pem -keyout cert.pem    # 4096 Bit Key


Folgende Werte eingeben:
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: . ("." entspricht "leer")
  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 ==
== Zertifikat in Apache-Webserver einhängen ==
Zeile 24: Zeile 43:
  chmod 600 /etc/apache2/ssl/cert.pem
  chmod 600 /etc/apache2/ssl/cert.pem
  ggf. noch Ownergruppen der cert.pem anpassen? (vgl. andere Dateien)
  ggf. noch Ownergruppen der cert.pem anpassen? (vgl. andere Dateien)
Nächste Schritte siehe [[Webserver installieren (Debian)#HTTPS in Apache einrichten]]


Zertifikat überprüfen siehe [[OpenSSL Werkzeuge]]
== Quelle ==
 
https://wiki.debian.org/Self-Signed_Certificate
[[Category:Linux]]
[[Category:Linux]]
[[Category:Kryptographie]]
[[Category:Kryptographie]]
[[Category:OpenSSL]]
[[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

Quelle

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