HTTPS am Apache Webserver einrichten

Aus ITwiki
Wechseln zu: Navigation, Suche

Verfügt man über ein Zertifikat, welches von einer öffentlichen, vertrauenswürdigen Root CA signiert wurde, kann dieses wie folgt im Apache eingepflegt werden.

Zertifikatsdateien vorbereiten[Bearbeiten]

Es wird davon ausgegangen, dass ein PFX-File (PKCS12) vorliegt und dieses zunächst konvertiert werden muss. Hierzu folgenden Befehl eingeben:

openssl pkcs12 -in yourpkcs12.pfx -out package.pem -nodes

yourpkcs12.pfx und package.pem muss entsprechend den eigenen Anforderungen angepasst werden. Sofern das PFX-File passwortgeschützt ist (absolut empfohlen!!!), wird noch nach diesem gefragt.

Kopiere die package.pem nun 2x und benenne diese Kopien um in z. B. package.key und package.cer

Lösche aus der package.key alles raus, außer den Teil zwischen

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

In der Datei package.cer entferne alles außer den Teil zwischen

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Ich gehe von einem Linux/Debian Server aus, auf dem der Apache läuft. Kopiere die package.key nach /etc/ssl/private und die package.cer nach /etc/ssl/certs

Apache konfigurieren[Bearbeiten]

Öffne mit dem VI das Apache Konfig-File /etc/apache2/sites-available/default und füge folgenden Eintrag hinzu bzw. ändere diesen entsprechend ab:

<VirtualHost *:443>
   SSLEngine on
   SSLCertificateFile /etc/ssl/certs/package.cer
   SSLCertificateKeyFile /etc/ssl/private/package.key
   # Pfad zu den Webinhalten
   DocumentRoot /var/www/
</VirtualHost>

Achtung: es handelt sich lediglich um ein Beispiel, das ggf. den eigenen Anforderungen angepasst werden muss!

Intermediate CA Zertifikat einbinden[Bearbeiten]

Es wird in der Regel so sein, dass das eigene Zertifikat nicht unmittelbar von einer Root CA signiert wurde, sondern von einer Zwischenzertifizierungsstelle, einer so genannten Intermediate CA. Beispiel:

Apachessl01.png

Sofern dieses ICA nicht am Client installiert ist, wird beim Aufruf unserer Webseite ein Zertifikatsfehler auftreten, da zwar die Root CA, aber nicht das Zertifikat der ICA bekannt ist. Deshalb muss am Linux Server dieses ICA-Zertifikat (Download auf der Webseite des CA-Betreibers) ebenfalls nach /etc/ssl/certs kopiert und im Apache Konfig-File /etc/apache2/sites-available/default mit folgender, zusätzlicher Zeile hinterlegt werden:

<VirtualHost *:443>
   SSLEngine on
   SSLCertificateFile /etc/ssl/certs/package.cer
   SSLCertificateKeyFile /etc/ssl/private/package.key
   SSLCertificateChainFile /etc/ssl/certs/thawte_SHA256_SSL_CA.pem
   # Pfad zu den Webinhalten
   DocumentRoot /var/www/
</VirtualHost>

Starte mittels service apache2 restart den Webserver neu, um die Konfiguration zu übernehmen.

Ruft ein Client nun unsere Webseite über https auf, lädt er bei Bedarf das Intermediate CA Zertifikat in seinen lokalen Zertifikatsspeicher und die Webseite wird ohne Zertifikatsfehlermeldung angezeigt.


War dieser Beitrag hilfreich?
Bitte stimme unten ab.
0
0
0
Es wurden seit Erstellung der Umfrage am 00:58, 16. Jul. 2017 0 Stimmen abgegeben.
poll-id 5B91E9A3D34AAAFFD29DCD066EB3593A