Achtung: Diese Dokumentation ist veraltet, bitte rufen Sie die Übersichtsseite auf, um zur aktuellen Dokumentation zu gelangen.
Wenn Sie Apache2 einsetzen, blättern Sie bitte weiter .
Mit Hilfe des Openssl-Paketes sowie können Schlüssel für den Server erzeugt werden. Im Folgenden erläutern wir das Vorgehen unter SuSE Linux 8-9, für andere Distributionen müssen Sie ggf. die Verzeichnisnamen anpassen. Für die Installation verwenden wir zunächst ein selbst signiertes Zertifikat, was zwar den Nachteil hat, dass die Anwender vor dem Aufruf der Webseite eine Warnung erhalten ("Diese Seite stammt aus einer nicht vertrauenswürdigen Quelle..."), der Vorteil ist aber, dass das Vorgehen relativ einheitlich ist und später bei Bedarf leicht um ein öffentliches Zertifikat erweitert werden kann. Wenn die Verschlüsselung mit einem selbst signierten Zertifikat funktioniert, dann ist der Rest relativ einfach.
Wir führen alle Schritte als user root durch, und gehen z.B. davon aus, dass wir uns im Verzeichnis /root befinden.
Zunächst muss ein Zertifikat
erzeugt
werden.
Wenn Sie Ihr Zertifikat bei einer Zertifizierungstelle signieren lassen möchten, müssen eine
Zertifizierungsanfrage
erstellen.
Mit dem oben erstellten CA-Zertifikat können Sie Ihr http-Zertifikat folgendermaßen selbst signieren:
/usr/share/ssl/misc/CA.sh -sign
Es wird eine Datei newcert.pem erzeugt. Nachdem Sie nun ein signiertes Zertifikat für Ihre Anwendung erstellt haben, müssen Sie dieses nur noch in das entsprechende Verzeichnis kopieren und in der Konfigurationsdatei eintragen. Der Apache erwartet den privaten Schlüssel in einer separaten Datei, in solchen Fällen können Sie den privaten Schlüssel wie folgt extrahieren
openssl rsa -in newreq.pem -out newkey.pem
Nun bereiten wir den Neustart des Apache mit ssl-Modul vor. Die Einbindung mit Loadmodule und AddModule muss bei den meisten Distributionen nicht manuell gemacht werden.
Apache 1.3.x-SSL-Verschlüsselung unter SuSE Linux |
Unter SuSe Linux müssen Sie zunächst eine Umgebungsvariable setzen. Schreiben Sie in der Datei
/etc/sysconfig/apache:
|
Im Apache muss nun in der Steuerungsdatei httpd.conf der Pfad zum privaten und öffentlichen Schlüssel angegeben werden. Das folgende Beispiel geht davon aus, dass der öffentliche CA-Schlüssel auf der Website des Users superx (Modul public_html des Apache) unter /home/superx/public_html steht, und dass der private Schlüssel des Servers vom User root im Verzeichnis /root/demoCA erzeugt wurde.
Auszug aus der |
<VirtualHost <<Ipnr. des Webservers>>:443> SSLCertificateFile /home/superx/public_html/capub.crt
#
Server Private Key: |
Danach müssen Sie in /etc/sysconfig/apache die Systemvariable HTTPD_START_TIMEOUT auf einen sinnvollen Wert setzen, z.B. 10. Sie haben dann beim Start des Apache 10 Sek. Zeit, dass CA-Passwort einzugeben.
Wir geben als root im Verzeichnis /root/demoCA/private ein:
openssl rsa -in cakey.pem -out cakey2.pem
(1x mit der Passphrase bestätigen).
Dann wird ein Schlüssel ohne Passphrase erzeugt. Wenn wir diesen dann wiederum in /etc/httpd/httpd.conf eintragen:
#SSLCertificateKeyFile /root/demoCA/private/cakey.pem
SSLCertificateKeyFile /root/demoCA/private/cakey2.pem
Dann startet der Apache ohne Passwortabfrage. In diesem Fall kann man auch die Variable HTTPD_START_TIMEOUT auf 1 zurücksetzen.
Zum Abschluss können Sie bei einem selbst signierten Zertifikat die oben erstellte Datei /root/capub.crt auf den Webserver kopieren und mit folgendem Link auf Ihrer Webseite verfügbar machen:
<a href="capub.crt" type="application/x-x509-ca-cert">CA-Zertifikat</a>
Die Anwender können dann mit Klick auf Link das Zertifikat importieren und somit im Browser speichern, so dass die Warnung, dass die Quelle nicht vertrauenswürdig ist, nicht mehr kommt. Wir haben auch den Eindruck, dass das Applet dann schneller arbeitet.
Druckversion HTML
![]() |
![]() ![]() |
Seite 99 / 386 Letzter Update: 11.7.2023 Impressum| Datenschutz |