Inhaltsverzeichnis

Apache HTTP Server CentOS 6 - mod_ssl - SSL-Verschlüsselung (https)

Das mod_ssl des Apache HTTP Server wird zum betreiben von SSL-Zertifikats unterlegten Seiten benötigt. Neben dem mod_ssl wird hierzu auch noch ein Zertifikat bzw. eine Schlüssel benötigt!

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root zu werden geben Sie bitte folgenden Befehl ein:

$ su -
Password: 

Installation

Zur Installation des Apache HTTP Servers wird nachfolgendes Paket benötigt:

installiert werden.

Mit nachfolgendem Befehl, wird das Pakete httpd installiert:

# yum install mod_ssl
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: centos.intergenia.de
 * extras: centos.intergenia.de
 * updates: centos.intergenia.de
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mod_ssl.x86_64 1:2.2.15-5.el6.centos set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch          Version                         Repository   Size
================================================================================
Installing:
 mod_ssl        x86_64        1:2.2.15-5.el6.centos           base         85 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 85 k
Installed size: 183 k
Is this ok [y/N]: y
Downloading Packages:
mod_ssl-2.2.15-5.el6.centos.x86_64.rpm                   |  85 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : 1:mod_ssl-2.2.15-5.el6.centos.x86_64                     1/1 

Installed:
  mod_ssl.x86_64 1:2.2.15-5.el6.centos                                          

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket mod_ssl installiert wurden.

# rpm -qil mod_ssl
Name        : mod_ssl                      Relocations: (not relocatable)
Version     : 2.2.15                            Vendor: CentOS
Release     : 5.el6.centos                  Build Date: Thu 07 Jul 2011 12:31:46 PM CEST
Install Date: Mon 31 Oct 2011 08:56:56 AM CET      Build Host: c6b6.bsys.dev.centos.org
Group       : System Environment/Daemons    Source RPM: httpd-2.2.15-5.el6.centos.src.rpm
Size        : 187233                           License: ASL 2.0
Signature   : RSA/8, Thu 07 Jul 2011 01:50:24 PM CEST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://httpd.apache.org/
Summary     : SSL/TLS module for the Apache HTTP Server
Description :
The mod_ssl module provides strong cryptography for the Apache Web
server via the Secure Sockets Layer (SSL) and Transport Layer
Security (TLS) protocols.
/etc/httpd/conf.d/ssl.conf
/usr/lib64/httpd/modules/mod_ssl.so
/var/cache/mod_ssl
/var/cache/mod_ssl/scache.dir
/var/cache/mod_ssl/scache.pag
/var/cache/mod_ssl/scache.sem

SSL-Zertifikat erstellen

Die Erstellung eines SSL-Zertifikates erfordert das Vorhandensein des RPM-Paketes openssl, welches allerdings bei fast jeder Standard-Installation von CentOS bereits installiert sein sollte. Falls nicht, kann dies mit nachfolgendem Befehl nachgeholt werden:

# yum install openssl

Der Inhalt des RPM-Paketes openssl sieht wie folgt aus und kann mit nachfolgendem Befehl angezeigt werden:

Name        : openssl                      Relocations: (not relocatable)
Version     : 0.9.8b                            Vendor: CentOS
Release     : 10.el5_2.1                    Build Date: Wed 07 Jan 2009 06:23:49 PM CET
Install Date: Thu 08 Jan 2009 08:42:04 PM CET      Build Host: builder16.centos.org
Group       : System Environment/Libraries   Source RPM: openssl-0.9.8b-10.el5_2.1.src.rpm
Size        : 3423000                          License: BSDish
Signature   : DSA/SHA1, Thu 08 Jan 2009 05:11:38 PM CET, Key ID a8a447dce8562897
URL         : http://www.openssl.org/
Summary     : The OpenSSL toolkit
Description :
The OpenSSL toolkit provides support for secure communications between
machines. OpenSSL includes a certificate management tool and shared
libraries which provide various cryptographic algorithms and
protocols.
/etc/pki/CA
/etc/pki/CA/private
/etc/pki/tls
/etc/pki/tls/cert.pem
/etc/pki/tls/certs
/etc/pki/tls/certs/Makefile
/etc/pki/tls/certs/ca-bundle.crt
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/misc
/etc/pki/tls/misc/CA
/etc/pki/tls/misc/c_hash
/etc/pki/tls/misc/c_info
/etc/pki/tls/misc/c_issuer
/etc/pki/tls/misc/c_name
/etc/pki/tls/openssl.cnf
/etc/pki/tls/private
/lib/libcrypto.so.0.9.8b
/lib/libcrypto.so.6
/lib/libssl.so.0.9.8b
/lib/libssl.so.6
/usr/bin/openssl
/usr/lib/openssl
/usr/lib/openssl/engines
/usr/lib/openssl/engines/lib4758cca.so
/usr/lib/openssl/engines/libaep.so
/usr/lib/openssl/engines/libatalla.so
/usr/lib/openssl/engines/libchil.so
/usr/lib/openssl/engines/libcswift.so
/usr/lib/openssl/engines/libgmp.so
/usr/lib/openssl/engines/libnuron.so
/usr/lib/openssl/engines/libsureware.so
/usr/lib/openssl/engines/libubsec.so
/usr/share/doc/openssl-0.9.8b
/usr/share/doc/openssl-0.9.8b/CHANGES
/usr/share/doc/openssl-0.9.8b/FAQ
/usr/share/doc/openssl-0.9.8b/INSTALL
/usr/share/doc/openssl-0.9.8b/LICENSE
/usr/share/doc/openssl-0.9.8b/NEWS
/usr/share/doc/openssl-0.9.8b/README
/usr/share/doc/openssl-0.9.8b/c-indentation.el
/usr/share/doc/openssl-0.9.8b/openssl.txt
/usr/share/doc/openssl-0.9.8b/openssl_button.gif
/usr/share/doc/openssl-0.9.8b/openssl_button.html
/usr/share/doc/openssl-0.9.8b/ssleay.txt
/usr/share/man/man1/asn1parse.1ssl.gz
/usr/share/man/man1/ca.1ssl.gz
/usr/share/man/man1/ciphers.1ssl.gz
/usr/share/man/man1/crl.1ssl.gz
/usr/share/man/man1/crl2pkcs7.1ssl.gz
/usr/share/man/man1/dgst.1ssl.gz
/usr/share/man/man1/dhparam.1ssl.gz
/usr/share/man/man1/dsa.1ssl.gz
/usr/share/man/man1/dsaparam.1ssl.gz
/usr/share/man/man1/ec.1ssl.gz
/usr/share/man/man1/ecparam.1ssl.gz
/usr/share/man/man1/enc.1ssl.gz
/usr/share/man/man1/errstr.1ssl.gz
/usr/share/man/man1/gendsa.1ssl.gz
/usr/share/man/man1/genrsa.1ssl.gz
/usr/share/man/man1/md2.1ssl.gz
/usr/share/man/man1/md4.1ssl.gz
/usr/share/man/man1/md5.1ssl.gz
/usr/share/man/man1/mdc2.1ssl.gz
/usr/share/man/man1/nseq.1ssl.gz
/usr/share/man/man1/ocsp.1ssl.gz
/usr/share/man/man1/openssl.1ssl.gz
/usr/share/man/man1/pkcs12.1ssl.gz
/usr/share/man/man1/pkcs7.1ssl.gz
/usr/share/man/man1/pkcs8.1ssl.gz
/usr/share/man/man1/req.1ssl.gz
/usr/share/man/man1/ripemd160.1ssl.gz
/usr/share/man/man1/rsa.1ssl.gz
/usr/share/man/man1/rsautl.1ssl.gz
/usr/share/man/man1/s_client.1ssl.gz
/usr/share/man/man1/s_server.1ssl.gz
/usr/share/man/man1/s_time.1ssl.gz
/usr/share/man/man1/sess_id.1ssl.gz
/usr/share/man/man1/sha.1ssl.gz
/usr/share/man/man1/sha1.1ssl.gz
/usr/share/man/man1/smime.1ssl.gz
/usr/share/man/man1/speed.1ssl.gz
/usr/share/man/man1/spkac.1ssl.gz
/usr/share/man/man1/sslpasswd.1ssl.gz
/usr/share/man/man1/sslrand.1ssl.gz
/usr/share/man/man1/verify.1ssl.gz
/usr/share/man/man1/version.1ssl.gz
/usr/share/man/man1/x509.1ssl.gz
/usr/share/man/man5/config.5ssl.gz
/usr/share/man/man5/x509v3_config.5ssl.gz
/usr/share/man/man7/Modes_of_DES.7ssl.gz
/usr/share/man/man7/des_modes.7ssl.gz

Self-Signed SSL-Zertifikat erstellen

Für Testzwecke und aus Kostengründen, oder auch nach Einsatzgebiet (z.B. nur im Intranet), kann die Erstellung eines sogenannten „Self-Signed-Certificate“ durchaus sinnvoll sein.

Zu Realisierung sind nachfolgende Schritte notwendig.

Zuerst sollten mit folgendem Befehl in das Verzeichnis /tmp gewechselt werden:

# cd /tmp

Als nächster Schritt wird zuerst eine sogenannter „privater Schlüssel“ (private key) mit folgendem Befehl erstellt:

# openssl genrsa -out tachtler.key 1024
Generating RSA private key, 1024 bit long modulus
.++++++
....++++++
e is 65537 (0x10001)

* Es wird die Datei /tmp/tachtler.key erzeugt!

Als nächster Schritt wird ein sogenannter „Zertifikatsantrag“ (CSR) generiert. Der „Zertifikatsantrag“ (CSR) enthält die Domainname, Email-Adresse usw. Diese Datei werden dann an die Zertifizierungsstelle gesendet und von dieser wird dann das Zertifikat ausgestellt. Mit nachfolgendem Befehl wird die Erstellung des „Zertifikatsantrags“ (CSR) durchgeführt:

:!: WICHTIG - Nicht benötigte Angaben werden mit Eingabe eines Punktes [.] übersprungen, es sollte KEIN Passwort verwendet werden!

# openssl req -new -key tachtler.key -out tachtler.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:DE
State or Province Name (full name) [Berkshire]:Bavaria
Locality Name (eg, city) [Newbury]:Munich
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:www.tachtler.net
Email Address []:webmaster@tachtler.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

* Es wird die Datei /tmp/tachtler.csr erzeugt!

Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im „Zertifikatsantrag“ (CSR) korrekt sind:

# openssl req -noout -text -in tachtler.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=DE, ST=Bavaria, L=Munich, O=My Company Ltd, CN=www.tachtler.net/emailAddress=webmaster@tachtler.net
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:a9:ad:d6:90:68:56:76:2d:c3:b5:c5:03:39:a8:
                    1f:81:3c:2e:ed:cb:1b:12:55:b4:a5:9c:1c:2b:ee:
                    f9:b0:25:7f:6e:92:3f:c0:fc:f9:39:a3:46:4a:cd:
                    cd:75:5d:8f:26:ab:d4:26:6b:1e:bc:50:de:82:42:
                    fd:ee:79:f0:18:02:fc:a8:11:2d:87:f2:2e:6d:4d:
                    73:12:2f:ea:26:54:58:be:c1:5a:f7:d9:31:fb:1a:
                    48:69:bc:73:cc:b8:a3:69:a1:8b:90:8d:a9:69:ab:
                    e6:4d:fe:e9:d9:df:7b:9f:35:12:21:ef:7c:67:c7:
                    13:27:79:b3:a4:05:10:2f:4f
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption
        a6:07:ac:3a:01:41:0d:01:07:c4:c9:bb:d4:b5:3c:50:52:d5:
        fa:56:d9:3b:90:ef:44:c2:4f:e9:15:86:8c:05:24:dc:16:a9:
        3c:01:ac:80:64:a7:ca:02:f3:f5:c3:f6:bf:9c:94:69:51:44:
        65:30:d8:e7:2f:d5:d8:c7:0e:5e:6e:98:76:6c:38:66:00:4d:
        49:d0:ea:38:0d:59:00:1b:49:0a:68:c6:54:9d:a0:1d:b7:97:
        04:6a:a2:ff:bf:87:ab:7f:9e:8d:0b:12:d0:59:b2:5a:37:1a:
        8a:c5:6d:83:db:df:31:13:9d:35:44:e3:7a:47:12:37:22:97:
        09:70

Zum Abschluß wird mit folgendem Befehl ein „Self-Signed-Certificate“ erstellt, welches für 365 Tage gültig ist:

# openssl x509 -req -days 365 -in tachtler.csr -signkey tachtler.key -out tachtler.crt
Signature ok
subject=/C=DE/ST=Bavaria/L=Munich/O=My Company Ltd/CN=www.tachtler.net/emailAddress=webmaster@tachtler.net
Getting Private key

* Es wird die Datei /tmp/tachtler.crt erzeugt!

Die Installation des gerade erzeugten „Self-Signed-Certificate“ und des ebenfalls erzeugten „Private Key“ in die richtigen Verzeichnisse und die Vergabe der richtigen Datei-Zugriffsrechte, sind der letzte Schritt zur erfolgreichen Verwendung.

Zuerst wird die Datei /tmp/tachtler.key mit folgendem Befehl in das nachfolgende Verzeichnis /etc/pki/tls/private kopiert:

# mv /tmp/tachtler.key /etc/pki/tls/private/

Dann wird die Datei tmp/tachtler.crt mit folgendem Befehl in das nachfolgende Verzeichnis /etc/pki/tls/certs kopiert:

# mv /tmp/tachtler.crt /etc/pki/tls/certs/

Die Datei tmp/tachtler.csr kann mit nachfolgendem Befehl gelöscht werden, da diese nicht mehr benötigt wird:

# rm /tmp/tachtler.csr

:!: WICHTIG - Zur Sicherheit sollten mit nachfolgenden Befehlen, die Datei-Zugriffsrechte für die Dateien

noch wie folgt gesetzte werden:

Datei-Zugriffsrechte für /etc/pki/tls/private/tachtler.key, werden mit folgendem Befehl gesetzt:

# chmod 400 /etc/pki/tls/private/tachtler.key

Datei-Zugriffsrechte für /etc/pki/tls/certs/tachtler.crt, werden mit folgendem Befehl gesetzt:

# chmod 400 /etc/pki/tls/certs/tachtler.crt

Konfiguration ssl.conf

Folgende Ergänzungen der Konfigurationsdatei /etc/httpd/conf.d/ssl.conf sind erforderlich, um eine lauffähigen Web-Server-Umgebung zu erhalten (nur relevante Änderungen):

...
##
## SSL Virtual Host Context
##
 
<VirtualHost _default_:443>
 
# General setup for the virtual host, inherited from global configuration
# Tachtler
# default: #DocumentRoot "/var/www/html"
# default: #ServerName www.example.com:443
DocumentRoot "/var/www/html"
ServerName www.tachtler.net
...
...
...
#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
# Tachtler
# default: SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/certs/tachtler.crt
 
#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
# Tachtler
# default: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/pki/tls/private/tachtler.key
...

Neustart Apache HTTP Server

Ein erneuter oder erster Start des Apache HTTP Server mit folgenden Befehl für eine erstmaligen Start

# service httpd start

oder einen erneuten Start des Apache HTTP Server mit folgendem Befehl

# service httpd restart

macht die oben beschriebenen Konfigurationen für den Apache HTTP Server wirksam.

Self-Signed SSL-Zertifikat Hinweise

:!: Folgende Hinweise werden, je nach Browser ausgegeben - als Beispiel soll hier die Ausgabe eines Firefox Browser dienen!

Durch den Aufruf der Seite https://www.tachtler.net erscheint folgender Hinweis:

Page Load Error

Nach einem Klick mit der linken Maustaste auf „Or you can add an exception…“ verändert sich der Hinweis wie folgt:

Page Load Error Exception

Nach einem Klick mit der linken Maustaste auf die Schaltfläche „Add Exception…“ erscheint ein Dialogfenster:

Add Security Exception

Nach einem Klick mit der linken Maustaste auf die Schaltfläche „Get Certificate…“ verändert sich das Dialogfenster wie folgt:

Add Security Exception Certificate

Nach einer allerletzten Bestätigung mit der linken Maustaste auf die Schaltfläche „Confirm Security Exception“, kann dann (endlich) die gewünschte Seite angezeigt werden, inklusive SSL-Verschlüsselung!

https://www.tachtler.net

Class 3 Wildcard-Certificate

Hier soll kurz beschrieben werden, wie ein Class 3 Wildcard-Certificate beantragt und in den Apache HTTP Server eingebunden werden kann.

Als erstes muss ein privater Schlüssel erstellt werden, wie wurde hier - SSL-Zertifikat erstellen bereits beschrieben.

:!: WICHTIG - Es muss jedoch eine neuer CSR (Certificate Signing Request) erstellt werden!

Der „Zertifikatsantrag“ (CSR) enthält en Wildcard-Domainname, Email-Adresse usw. Diese Datei werden dann an die Zertifizierungsstelle gesendet und von dieser wird dann das Zertifikat ausgestellt. Mit nachfolgendem Befehl wird die Erstellung des „Zertifikatsantrags“ (CSR) durchgeführt:

:!: WICHTIG - Nicht benötigte Angaben werden mit Eingabe eines Punktes [.] übersprungen, es sollte KEIN Passwort verwendet werden!

# openssl req -new -key /tmp/tachtler.key -out /tmp/tachtler.csr
# openssl req -new -key /etc/pki/tls/private/tachtler.key -out /tmp/tachtler.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:DE
State or Province Name (full name) [Berkshire]:Bavaria (Bayern)
Locality Name (eg, city) [Newbury]:Munich (Muenchen)
Organization Name (eg, company) [My Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:*.tachtler.net
Email Address []:hostmaster@tachtler.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:.

* Es wird die Datei /tmp/tachtler.csr erzeugt!

Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im „Zertifikatsantrag“ (CSR) korrekt sind:

# openssl req -noout -text -in /tmp/tachtler.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=DE, ST=Bavaria (Bayern), L=Munich (Muenchen), CN=*.tachtler.net/emailAddress=hostmaster@tachtler.net
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:d8:38:b1:6c:8d:b:f9:73:07:24:4a:84:48:24:
                    b0:34:af:f4:22:71:17:53:f0:71:ec:94:f3:ef:90:
                    ab:4b:3a:fa:8f:2f:51:71:a8:1e:dd:c9:5e:11:20:
                    56:5e:52:92:a2:04:29:08:c2:d3:7f:c5:36:e2:28:
                    9a:c8:4c:2a:d7:7d:4b:6b:c6:18:97:c2:94:1c:0d:
                    73:b1:c8:8c:ac:08:e1:27:e1:38:3b:9f:cf:ff:ce:
                    53:6a:4b:64:1c:d9:6e:50:7b:e2:3d:6e:6f:53:a9:
                    e3:98:38:10:e4:89:b3:8b:35:5c:a0:79:25:07:2c:
                    0e:70:1f:e5:85:f6:1b:85:65
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption
        5f:cb:84:13:3f:3b:1c:21:1c:ad:71:6c:9d:60:6e:aa:ca:03:
        c2:29:51:ce:f8:43:88:ca:88:13:41:a6:d5:42:24:c5:5d:af:
        ff:86:c2:39:63:e8:45:56:52:62:74:f3:66:e9:63:16:57:f0:
        fc:f4:7e:23:67:ad:52:45:66:c3:8b:69:25:88:32:85:2e:ba:
        71:53:09:57:67:26:e9:53:f4:97:9e:79:42:30:f4:54:b6:3a:
        c3:0f:b7:91:14:9a:02:34:c7:f4:e0:b0:4f:91:38:d2:52:21:
        8c:da:98:09:1a:31:ce:53:4b:56:df:3a:c9:d6:a9:f1:4a:cc:
        ab:9c

:!: WICHTIG - Dieser Zertifikatsantrag muss nun bei der Zertifizierungsstelle der Wahl z.B. CACert abgegeben werden, woraufhin ein Class 3 Wildcard-Zertifikat ausgestellt wird (Vorausgesetzt die Voraussetzungen von CACert sind gegeben)!

Herunterladen CAcert_chain.pem

Das CAcert_chain.pem-Zertifikat kann unter folgender Adresse heruntergeladen werden:

Konfiguration ssl.conf

Folgende Ergänzungen der Konfigurationsdatei /etc/httpd/conf.d/ssl.conf sind erforderlich, um eine lauffähigen Web-Server-Umgebung zu erhalten (nur relevante Änderungen):

...
##
## SSL Virtual Host Context
##
 
<VirtualHost _default_:443>
 
# General setup for the virtual host, inherited from global configuration
# Tachtler
# default: #DocumentRoot "/var/www/html"
# default: #ServerName www.example.com:443
DocumentRoot "/var/www/html"
ServerName www.tachtler.net
...
...
...
#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
# Tachtler
SSLCertificateFile /etc/pki/tls/certs/CAcert-class3-wildcard.crt
 
#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
# Tachtler
SSLCertificateKeyFile /etc/pki/tls/private/tachtler.key
 
#   Server Certificate Chain:
#   Point SSLCertificateChainFile at a file containing the
#   concatenation of PEM encoded CA certificates which form the
#   certificate chain for the server certificate. Alternatively
#   the referenced file can be the same as SSLCertificateFile
#   when the CA certificates are directly appended to the server
#   certificate for convinience.
# Tachtler
SSLCertificateChainFile /etc/pki/tls/certs/CAcert_chain.pem
...

Abschließend sollten noch die Datei-Zugriffsrechte für /etc/pki/tls/certs/CAcert_chain.pem, mit folgendem Befehl wie folgt gesetztwerden :

# chmod 400 /etc/pki/tls/certs/CAcert_chain.pem

und ebenfalls für CAcert-class3-wildcard.crt, mit nachfolgendem Befehl:

# chmod 400 /etc/pki/tls/certs/CAcert-class3-wildcard.crt

Neustart Apache HTTP Server

Ein erneuter oder erster Start des Apache HTTP Server mit folgenden Befehl für eine erstmaligen Start

# service httpd start

oder einen erneuten Start des Apache HTTP Server mit folgendem Befehl

# service httpd restart

macht die oben beschriebenen Konfigurationen für den Apache HTTP Server wirksam.