%
% certs.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Certs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Das Certs-Paket}

\section{Die Einleitung}

   Dieses Paket stellt Funktionen zur Verf"ugung um TLS-Zertifikate erstellen
   und verwalten zu k"onnen.


\section{Die Funktionen}

   Das Certs-Paket beinhaltet keine weiteren externen Komponenten.


\section{Die Voraussetzungen}

   Ein lauff"ahiger \eisfair-Server ;-$)$


\section{Die Installation}

   Das Certs-Paket wird "uber das Setup-Men"u installiert. Wird eine "altere
   Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen
   Programmdateien installiert werden.


\section{Das Men"u im Setup-Programm}

   Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \begin{itemize}
        \item Certs Service
        \begin{itemize}
            \item View documentation: Anzeigen der Dokumentation
            \item Edit configuration: Bearbeiten der Konfiguration
            \item Show certificate related information
            \begin{itemize}
                \item Show certificate overview: Anzeigen einer Zertifikats"ubersicht
                \item Show certificate details: Anzeigen von TLS-Zertifikatdetails
                \item Show csr details: Anzeigen von TLS-Antragsdetails
                \item Show crl details: Anzeigen von TLS-Widerrufsdetails
                \item Manage certificates: Verwalten von TLS-Zertifikaten
                \item Return: Untermen"u verlassen
            \end{itemize}
            \item Download ca certificate bundle: CA-Zertifikatssammlung herunterladen
            \item Find duplicate certificates: Doppelte Zertifikate suchen
            \item Identify unrequired certificates
            \begin{itemize}
                \item Show unrequired certificates: Anzeigen nicht verwendeter Zertifikate
                \item Archive unrequired certificates: Archivieren nicht verwendeter Zertifikate
                \item Delete unrequired certificates: L"oschen nicht verwendeter Zertifikate
                \item Return: Untermen"u verlassen
            \end{itemize}
            \item Update certs/crl hashes: Die Zertifikats- und CRL-Hashes aktualisieren
            \item Update revocation list(s): Widerrufslisten herunterladen/aktualisieren
            \item Update URLs in OpenSSL configuration: URLs in der OpenSSL Konfiguration aktualisieren
            \item View Update revocation list(s) logfile: Logdatei der Widerrufslistenaktualisierung anzeigen
            \item Return: Untermen"u verlassen
        \end{itemize}
    \end{itemize}

   Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei weitere
   Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter
   eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration' ge"andert
    werden. Standardm"a"sig wird der Editor aufgerufen, der in der Environment-
    Konfiguration "uber die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor
    beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll.
    Wird dies best"atigt, werden "uber ein Skript die Anpassungen umgehend
    wirksam gemacht.


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind folgende
    Parameter vorhanden; wer sie von Hand editieren will findet sie unter
    /etc/config.d/certs.

\section{Die Parameter}

\begin{description}
%%  JED - show this description only in the help file
 %  \config{CERTS\_DO\_DEBUG (Optionaler Parameter)}{CERTS\_DO\_DEBUG}{CERTSDODEBUG}
 %      Um den Debug-Modus zu aktivieren muss diese Variable lediglich auf
 %      den Wert `yes' gestellt werden, die Einstellung `no' deaktiviert
 %      den Debug-Modus.
 %
 %      G"ultige Werte: yes, no
 %
 %      Standardeinstellung: \texttt{CERTS\_DO\_DEBUG='no'}

    \config{START\_CERTS}{START\_CERTS}{STARTCERTS}
        F"ur die Aktivierung des Certs-Programms muss dieser Parameter lediglich
        auf den Wert 'yes' gestellt werden. Die Einstellung 'no' deaktiviert
        das Certs-Programm.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_CERTS='no'}

    \config{CERTS\_CA\_HOME}{CERTS\_CA\_HOME}{CERTSCAHOME}
        In einem Netzwerk w"ahlt man "ublicherweise einen EINZIGEN Server aus,
        welcher als Zertifizierungstelle (Certificate Authority (CA)) fungieren
        soll, um alle ben"otigten, selbst signierten, Zertifikate zur Verf"ugung
        zu stellen. Durch Setzen des Wertes 'yes' wird dieser Server identifiziert
        und alle CA-spezifischen Funktionen aktiviert, der Wert 'no' sperrt diese.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{CERTS\_CA\_HOME='no'}

     \config{CERTS\_HASH\_ALGORITHM}{CERTS\_HASH\_ALGORITHM}{CERTSHASHALGORITHM}
        "Uber diesen Parameter kann der standardm"a"sig zu verwendende Hash
        Algorithmus konfiguriert werden, welcher f"ur das Signieren von
        Zertifikatsanforderungen verwendet werden soll. In der Vergangenheit
        wurde von OpenSSL standardm"a"sig `sha1' verwendet, welcher aber seit
        fast 10 Jahren als kompromittiert angesehen werden kann. Aus diesem
        Grund wird nun standardm"a"sig `sha384' verwendet. Aus Gr"unden der
        Kompatibilit"at zu "alterer Software oder Ger"aten ist aber weiterhin
        die Auswahl von weniger sicheren Hashes m"oglich.

        \achtung{Es muss sicher gestellt werden, dass das Ger"at auf welchem
            das Zertifikat verwendet werden soll, auch in der Lage ist den
            verwendeten Hash Algorithmus zu verwenden!}

        G"ultige Werte: sha1, sha224, sha256, (sha384), sha512

        Standardeinstellung: \texttt{CERTS\_HASH\_ALGORITHM='sha384'}

     \config{CERTS\_RSA\_KEYBITS}{CERTS\_RSA\_KEYBITS}{CERTSRSAKEYBITS}
        "Uber diesen Parameter kann die standardm"a"sig zu verwendende Gr"o"se
        des RSA-\-Schl"us\-sels konfiguriert werden. Heutzutage wird ein Wert von
        2048 Bit als sicher eingestuft. Aus Gr"unden der Kompatibilit"at zu
        "alterer Software oder Ger"aten ist aber weiterhin die Auswahl von
        weniger Schl"ussell"angen m"oglich.

        G"ultige Werte: 1024, (2048), 4096, 8192

        Standardeinstellung: \texttt{CERTS\_RSA\_KEYBITS='2048'}

    \config{CERTS\_UNIQUE\_SUBJECT (optionaler Parameter)}{CERTS\_UNIQUE\_SUBJECT}{CERTSUNIQUESUBJECT}
        Optionaler Parameter: "Uber diesen Parameter kann festgelegt werden,
        ob der Betreff (Subject) eines Zertifikats eindeutig sein muss oder
        nicht. Die Einstellung 'no' erlaubt es, dass mehrere Zertifikate den
        gleichen Betreff haben d"urfen. Dies erleichtert unter Umst"anden den
        "Ubergang von einem kurz vor dem Ablauf stehenden Zertifikat zum
        Folgezertifikat. Aus Gr"unden der Kompatibilit"at zu "alteren
        OpenSSL-Versionen ist dieser Parameter standardm"a"sig auf 'yes'
        gesetzt.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{CERTS\_UNIQUE\_SUBJECT='yes'}

    \config{CERTS\_WEBSERVER\_NAME (optionaler Parameter)}{CERTS\_WEBSERVER\_NAME}{CERTSWEBSERVERNAME}
        Optionaler Parameter: "Uber diesen Parameter kann der standardm"a"sig
        verwendete Apache Webservername konfiguriert werden. Es muss ein
        vollst"andiger Domainname (FQDN) angegeben werden, z.B. Hostname und
        Domainname. Wird dieser Parameter nicht gesetzt, so wird der "uber
        den Parameter APACHE2\_SERVER\_NAME Name verwendet.

        G"ultige Werte: vollst"andiger Domainname

        Standardeinstellung: \texttt{CERTS\_WEBSERVER\_NAME=$''$}
\end{description}

    Die folgenden sieben Parameter (CERTS\_CA\_..) werden nur verwendet,
    wenn dieser Server als Zertifizierungstelle (Certificate Authority
    (CA)) fungiert, d.h. der Parameter \jump{CERTSCAHOME}{CERTS\_CA\_HOME='yes'}
    gesetzt wurde.

\begin{description}
    \config{CERTS\_CA\_CCODE}{CERTS\_CA\_CCODE}{CERTSCACCODE}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden, zweistelligen
        L"anderkode festlegen.

        G"ultige Werte: zweistelliger L"anderkode

        Standardeinstellung: \texttt{CERTS\_CA\_CCODE='DE'}

    \config{CERTS\_CA\_STATE}{CERTS\_CA\_STATE}{CERTSCASTATE}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden Namen des States
        oder der Provinz festlegen.

        G"ultige Werte: Name des States oder der Provinz

        Standardeinstellung: \texttt{CERTS\_CA\_STATE='Nordrhein Westfalen'}

    \config{CERTS\_CA\_LOCALITY}{CERTS\_CA\_LOCALITY}{CERTSCALOCALITY}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden Ortsnamen festlegen.

        G"ultige Werte: Ortsname

        Standardeinstellung: \texttt{CERTS\_CA\_LOCALITY='Koeln'}

    \config{CERTS\_CA\_ORGA\_NAME}{CERTS\_CA\_ORGA\_NAME}{CERTSCAORGANAME}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden Namen einer
        Organisation festlegen.

        G"ultige Werte: Name der Organisation

        Standardeinstellung: \texttt{CERTS\_CA\_ORGA\_NAME='eisfair CA'}

    \config{CERTS\_CA\_ORGA\_UNIT}{CERTS\_CA\_ORGA\_UNIT}{CERTSCAORGAUNIT}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden Namen einer
        Organisationseinheit festlegen.

        G"ultige Werte: Name der Organisationseinheit

        Standardeinstellung: \texttt{CERTS\_CA\_ORGA\_UNIT='My eisfair Certificate Authority'}

    \config{CERTS\_CA\_ADMIN\_NAME}{CERTS\_CA\_ADMIN\_NAME}{CERTSCAADMINNAME}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendenden Namen des f"ur
        die CA verantwortlichen Administrators festlegen.

        G"ultige Werte: Administratorname

        Standardeinstellung: \texttt{CERTS\_CA\_ADMIN\_NAME='eisfair Administrator'}

    \config{CERTS\_CA\_ADMIN\_EMAIL}{CERTS\_CA\_ADMIN\_EMAIL}{CERTSCAADMINEMAIL}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        CA-Zertifikats standardm"a"sig zu verwendende E-Mail-Adresse
        des f"ur die CA verantwortlichen Administrators festlegen.

        G"ultige Werte: E-Mail-Adresse des Administrators

        Standardeinstellung: \texttt{CERTS\_CA\_ADMIN\_EMAIL=$''$}
\end{description}

    Die folgenden sechs Parameter (CERTS\_CERT\_..) werden bei der
    Erstellung von Zertifikatsanfragen heran gezogen.

\begin{description}
    \config{CERTS\_CERT\_CCODE}{CERTS\_CERT\_CCODE}{CERTSCERTCCODE}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendenden, zweistelligen
        L"anderkode festlegen.

        G"ultige Werte: zweistelliger L"anderkode

        Standardeinstellung: \texttt{CERTS\_CERT\_CCODE='DE'}

    \config{CERTS\_CERT\_STATE}{CERTS\_CERT\_STATE}{CERTSCERTSTATE}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendenden Namen des States
        oder der Provinz festlegen.

        G"ultige Werte: Name des States oder der Provinz

        Standardeinstellung: \texttt{CERTS\_CERT\_STATE='Nordrhein Westfalen'}

    \config{CERTS\_CERT\_LOCALITY}{CERTS\_CERT\_LOCALITY}{CERTSCERTLOCALITY}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendenden Ortsnamen festlegen.

        G"ultige Werte: Ortsname

        Standardeinstellung: \texttt{CERTS\_CERT\_LOCALITY='Koeln'}

    \config{CERTS\_CERT\_ORGA\_NAME}{CERTS\_CERT\_ORGA\_NAME}{CERTSCERTORGANAME}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendenden Namen einer
        Organisationseinheit festlegen.

        G"ultige Werte: Name der Organisationseinheit

        Standardeinstellung: \texttt{CERTS\_CERT\_ORGA\_NAME='private'}

    \config{CERTS\_CERT\_ORGA\_UNIT}{CERTS\_CERT\_ORGA\_UNIT}{CERTSCERTORGAUNIT}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendenden Namen einer
        Organisationseinheit festlegen.

        G"ultige Werte: Name der Organisationseinheit

        Standardeinstellung: \texttt{CERTS\_CERT\_ORGA\_UNIT='eisfair'}

    \config{CERTS\_CERT\_REQ\_NAME}{CERTS\_CERT\_REQ\_NAME}{CERTSCERTREQNAME}
        "Uber diesen Parameter kann man den Namen der Person eintragen,
        die standardm"a"sig als Zertifikatsanforderer agiert.

        G"ultige Werte: Names des Zertifikatsanforderers

        Standardeinstellung: \texttt{CERTS\_CERT\_REQ\_NAME='cert Requestor'}

    \config{CERTS\_CERT\_REQ\_EMAIL}{CERTS\_CERT\_REQ\_EMAIL}{CERTSCERTREQEMAIL}
        "Uber diesen Parameter kann man den bei der Erstellung eines
        Zertifikats standardm"a"sig zu verwendende E-Mail-Adresse
        des Erstellers einer Zertifikatsanfrage festlegen.

        G"ultige Werte: E-Mail-Adresse des Erstellers einer Zertifikatsanfrage

        Standardeinstellung: \texttt{CERTS\_CERT\_REQ\_EMAIL=$''$}

    \config{CERTS\_CRL\_CRON}{CERTS\_CRL\_CRON}{CERTSCRLCRON}
        Wird dieser Parameter auf 'yes' gestellt, so werden automatisiert
        die Zertifikatswiderrufslisten (Certificate Revocation Lists (CRLs))
        heruntergeladen, die Einstellung 'no' deaktiviert diese Funktion.
        Dabei findet eine automatische Aktualisierung zu dem in den CRL-Dateien
        angegebenen Aktualisierungszeitpunkt statt.\\
        "Uber den Parameter CERTS\_CRL\_CRON\_SCHEDULE wird dabei der
        Zeitintervall vorgegeben, in welchem eine Pr"ufung der erzeugten
        Aktualisierungsaufgaben durchgef"uhrt wird.

        \hinweis{Da diese Funktion exzessiven Gebrauch des at-Programms macht,
        ist es notwendig, dass in der base-Konfiguration der Parameter START\_ATD='yes'
        gesetzt ist.}

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{CERTS\_CRL\_CRON='yes'}

    \config{CERTS\_CRL\_CRON\_SCHEDULE}{CERTS\_CRL\_CRON\_SCHEDULE}{CERTSCRLCRONSCHEDULE}
        "Uber diesen Parameter wird festgelegt zu welchem Zeitpunkt bzw. in welchem
        Intervall eine automatisierte Pr"ufung der erzeugten CRL-Aktualisierungsaufgaben
        erfolgen soll. Da die CRL-Dateien selbst zu dem in den Dateien angegebenen
        Aktualisierungszeitpunkt herunter geladen werden, sollte diese Pr"ufung
        nicht h"aufiger als einmal pro Woche erfolgen. Dieser Parameter wird nur
        verwendet, wenn CERTS\_CRL\_CRON='yes' gesetzt wurde. Die f"unf Teilparameter
        haben dabei folgende Bedeutung:\\

        1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.\\

        D.h. bei Verwendung der Standardeinstellung wird jeden Montag um 02:11h
        eine Aktualisierung durchgef"uhrt. Wer N"aheres "uber die verwendete
        Befehlssyntax erfahren m"ochte, sollte "uber eine Internet-Suchmaschine
        nach 'man' und 'crontab' suchen.

        G"ultige Werte: Crontab-spezifischer Parametereintrag

        Standardeinstellung: \texttt{CERTS\_CRL\_CRON\_SCHEDULE='11 2 * * 1'}

    \config{CERTS\_LOG\_COUNT}{CERTS\_LOG\_COUNT}{CERTSLOGCOUNT}
        "Uber diesen Parameter wird eingestellt, wie viele Logdateien
        vorgehalten werden sollen. Wird dieser Wert "uberschritten, so
        wird die "alteste Logdatei gel"oscht.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{CERTS\_LOG\_COUNT='6'}

    \config{CERTS\_LOG\_INTERVAL}{CERTS\_LOG\_INTERVAL}{CERTSLOGINTERVAL}
        Dieser Parameter bestimmt in welchen Intervallen die Logdateien
        archiviert werden sollen. Zur Auswahl stehen die Schl"usselw"orter
        `daily' - t"aglich, `weekly' - w"ochentlich und `monthly - monatlich.

        G"ultige Werte: daily, weekly, monthly

        Standardeinstellung: \texttt{CERTS\_LOG\_INTERVAL='weekly'}
\end{description}

\section{Die Zertifikate}

    \subsection{Allgemeine Anmerkungen zum Zertifikatsmen"u}

        Das Men"u zur Zertifikatsgenerierung fasst alle notwendigen Schritte
        zur Erstellung einer eigenen Zertifizierungsstelle (CA), einer Instanz
        zum Ausstellen und Signieren eigener Zertifikate, und dem Generierung
        eigener Server- oder Anwenderzertifikate zusammen.

        Serverzertifikate werden, wie der Name vermuten l"asst, zur eindeutigen
        Identifikation von Servern, die z.B. Web- oder E-Mail-Services anbieten,
        verwendet.\\
        Anwenderzertifikate hingegen, dienen der eindeutigen Identifikation
        von Anwendern, um z.B. E-Mail zu signieren oder sich an einem Server
        anzumelden.

        Beginnt ein Men"ueintrag mit einem '==', so steht er f"ur die gew"ahlte
        Funktion nicht zur Verf"ugung. Wird ein Men"ueintrag mit einem '$>$'
        markiert, so kennzeichnet dies "ublicherweise den n"achsten,
        auszuf"uhrenden Prozessschritt.
        Ein mit einem '\haken' markierter Men"upunkt hingegen kennzeichnet
        einen bereits abgeschlossenen Prozessschritt.

    \subsection{Erstellen einer eigenen Zertifizierungsstelle (CA)}

        \subsubsection{Die Einleitung (CA)}

            Um eigene, selbst signierte Zertifikate erstellen und verwenden
            zu k"onnen, m"ussen als erstes ein Schl"ussel und ein Zertifikat
            erstellt werden, welche zur Identifikation der eigenen
            Zertifizierungsstelle (CA) dienen.
            Das erstellte Zertifikat wird anschlie"send verwendet, um jedes
            weitere Server- bzw. Anwenderzertifikat zu signieren, d.h. zu
            best"atigen, dass es sich hierbei um ein g"ultiges Zertifikat im
            eigenen Netzwerk handelt. Diese Zertifikat dient NIEMALS selbst
            zur Identifikation eines Servers!

            Um es sp"ater einem Webbrowser oder anderer Software, die eine
            verschl"usselte Verbindung zum \eisfair-Server aufbauen m"ochte,
            zu erm"oglichen, die erstellten Zertifikate pr"ufen zu k"onnen,
            ist es dar"uber hinaus erforderlich dieses CA-Zertifikat in die
            Zertifikatsspeicher der Ger"ate oder Programme zu importieren.

            Ein CA-Zertifikat ist "ublicherweise 10 Jahre lang g"ultig und
            kann w"ahrend dieser Zeit verwendet werden um andere Zertifikate
            zu unterzeichnen. Das bei der Erstellung des CA-Schl"ussels
            vergebene Kennwort ist an einem sicheren Ort aufzuheben, da es
            nur nach Eingabe dieses Kennwortes m"oglich ist ein anderes
            Zertifikat zu unterzeichnen.

            Um ein CA-Zertifikat zu erstellen, sind die folgenden Schritte
            auszuf"uhren. Wird einer dieser Schritte nicht erfolgreich
            abgeschlossen, so f"uhrt dies zwangsl"aufig zu einem Folgefehler
            bei den nachfolgenden Schritten.

            \begin{itemize}
                \item[1.] Erstellen einer einmaligen Schl"usseldatei (KEY).
                \item[2.] Erstellen und Signieren des eigenen CA-Zertifikats (CRT).
                \item[3.] Kopieren der Zertifikatsdatei in den Zertifikatsordner.
            \end{itemize}

            Folgende Informationen gilt es vorab zusammen zu tragen, da diese
            im Laufe der CA-\-Zer\-ti\-fi\-kats\-er\-stel\-lung abgefragt werden:

            \begin{itemize}
                \item[1.] Welches Kennwort soll zur Verschl"usselung des CA-Schl"ussels
                          verwendet werden? Dieses Kennwort wird ben"otigt, um eine
                          Zertifikatsanfrage zu unterzeichnen und muss unbedingt
                          geheim gehalten werden, da sonst Dritte in der Lage w"aren
                          Zertifikate mit diesem CA-Zertifikat zu unterzeichnen!

                \item[2.] Das Land, das Bundesland und der Ort in welchem die
                          Zertifizierungstelle betrieben wird.\\
                          Beispiel: \texttt{DE (Deutschland), Nordrhein Westfalen, Koeln}

                \item[3.] Die Organisation bzw. Organisationseinheit welche sich f"ur
                          die Zertifizierungsstelle verantwortlich zeichnet.\\
                          Beispiel: \texttt{eisfair CA, My eisfair Certificate Authority}

                \item[4.] Der Name des Administrators der Zertifizierungsstelle (Dein
                          Name?)\\
                          Beispiel: \texttt{Tom Johnes}

                \item[5.] Optional die E-Mail-Adresse des Administrator, der
                          kontaktiert werden soll wenn es Fragen zum CA-Zertifikat
                          oder einem von dieser Zertifizierungsstelle unterzeichnetem
                          Zertifikat gibt.\\
                          Beispiel: \texttt{admin@local.lan}
            \end{itemize}

        \subsubsection{Die Zertifikatserstellung (CA)}

            \begin{itemize}
                \item[1.] "Uber setup \pfeil Service Administration \pfeil Certs
                          service \pfeil Manage certificates startet man das Programm
                          zur Zertifikatserstellung:

                    \graphic{center}{width=140mm}{./pics/certs-ca-01-1.png}{Zertifikatsmen"u}

                \item[2.] "Uber den Men"upunkt '1' w"ahlt man durch Auswahl von '1'
                          die Funktion 'Certificate Authority (CA)' aus.

                    \graphic{center}{width=140mm}{./pics/certs-ca-01-2.png}{CA-Funktionsauswahl}

                \item[3.] Anschlie"send erstellt man "uber den Men"upunkt '3' einen
                          neuen CA-Schl"ussel mit der in der "Uberschrift des
                          Men"uabsatzes angezeigten St"arke von 2048 Bit (Durch
                          Dr"ucken von 'b' kann diese Einstellung bei Bedarf zuvor
                          angepasst werde) und vergibt das in der Einleitung
                          angesprochene Kennwort welches zuk"unftig beim Signieren
                          von erstellten Zertifikaten eingegeben werden muss.

                    \graphic{center}{width=140mm}{./pics/certs-ca-03-1.png}{CA-Schl"ussel erstellen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-ca-03-2.png}{CA-Schl"ussel erstellen - 2}

                \item[4.] Nun w"ahlt man den Men"upunkt '4' um das selbst signierte
                          CA-Zertifikat zu erstellen. Alle f"ur das Zertifikat
                          entscheidenden Informationen, welche man anfangs zusammen
                          getragen hat, werden nun eingegeben. Folgende Besonderheiten
                          gilt es zu beachten:\\
                    \begin{itemize}
                        \item[-] Die in eckigen Klammern angezeigten Standardwerte
                                 k"onnen durch Dr"ucken der Enter-Taste "ubernommen
                                 werden.
                        \item[-] Optionaler Werte, wie z.B. die E-Mail-Adresse,
                                 k"onnen durch Eingabe von '.' "ubersprungen werden.
                    \end{itemize}
                    \graphic{center}{width=140mm}{./pics/certs-ca-04-1.png}{CA-Zertifikat erstellen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-ca-04-2.png}{CA-Zertifikat erstellen - 2}

                \item[5.] "Uber den Men"upunkt '5', wird im Anschluss das erzeugte
                          CA-Zertifikat in das korrekte Serververzeichnis kopieren.

                    \graphic{center}{width=140mm}{./pics/certs-ca-05-1.png}{CA-Zertifikat kopieren - 1}
                    \graphic{center}{width=140mm}{./pics/certs-ca-05-2.png}{CA-Zertifikat kopieren - 2}

                \item[6.] Damit ein Webbrowser bzw. Klientenrechner die von
                         dieser Zertifizierungsstelle erzeugten Zertifikatsdateien
                         "uberpr"ufen kann, sendet man sich das CA-Zertifikat bei
                         Bedarf "uber die E-Mail-Funktion, welche im Hauptmen"u
                         durch Dr"ucken von 'e' aufgerufen wird, zu und kopiert es
                         anschlie"send auf den gew"unschten Klientenrechner.\\
                         Beim Import des CA-Zertifikats in den Zertifikatsspeicher
                         des gew"unschten Webbrowsers gilt es final noch die
                         angezeigten Verwendungszwecke zu best"atigen.

                    \graphic{center}{width=140mm}{./pics/certs-ca-06-1.png}{CA-Zertifikat versenden - 1}
                    \graphic{center}{width=140mm}{./pics/certs-ca-06-2.png}{CA-Zertifikat versenden - 2}
            \end{itemize}

    \subsection{Erstellen eines Serverzertifikates (CERT)}

        \subsubsection{Die Einleitung (CERT)}

            Wie zuvor bereits geschrieben, identifiziert ein Serverzertifikat
            einen einzelnen Server, jedoch nicht die einzelnen Services, wie
            z.B. einen Web- oder E-Mail-Services, auf einem Server. Deshalb
            reicht es "ublicherweise aus ein einziges Zertifikat auszustellen,
            auf welches dann entsprechend den Anforderungen referenziert wird.

            Um ein Zertifikat zu erstellen, ist eine immer gleiche Abfolge von
            Schritten auszuf"uhren. Wird einer dieser Schritte nicht erfolgreich
            abgeschlossen, so f"uhrt dies zwangsl"aufig zu einem Folgefehler
            bei den nachfolgenden Schritten.

            Die auszuf"uhrenden Schritte lauten wie folgt:

            \begin{itemize}
                \item[1.] Erstellen einer einmaligen Schl"usseldatei (KEY).
                \item[2.] Erstellen einer Zertifikatsanforderung (CSR).
                \item[3.] Signieren der Zertifikatsanforderung mit dem
                          CA-Zertifikat (CRT).
                \item[4.] Erstellen der Diffie-Hellman Parameter.
                \item[5.] Erstellen einer vollst"andigen Zertifikatsdatei
                          und das Kopieren der Datei in den Zertifikatsordner.
            \end{itemize}

            Am Beispiel der Zertifikatserstellung f"ur einen \eisfair-Server,
            auf dem ein Web- und E-Mail-Server installiert sind, sollen die
            notwendigen Schritte nun veranschaulicht werden.

            Folgende Informationen gilt es vorab zusammen zu tragen, da diese
            bei der Zertifikatserstellung abgefragt werden:

            \begin{itemize}
                \item[1.] Wie lautet das urspr"unglich festgelegte Kennwort
                          des CA-Zertifikates? Diese wird ben"otigt, um eine
                          Zertifikatsanfrage zu unterzeichnen und muss unbedingt
                          geheim gehalten werden, da sonst Dritte in der Lage
                          w"aren eigene Zertifikate mit diesem CA-Zertifikat zu
                          unterzeichnen!

                \item[2.] Das Land, das Bundesland und der Ort in welchem der
                          Server betrieben wird.\\
                          Beispiel: \texttt{DE (Deutschland), Nordrhein Westfalen, Koeln}

                \item[3.] Die Organisation bzw. Organisationseinheit welche
                          sich f"ur den \eisfair-Server verantwortlich zeichnet.\\
                          Beispiel: \texttt{privat, eisfair-Server}

                \item[4.] Der DNS-Name bzw. die DNS-Namen "uber welche auf den
                          \eisfair-Server zugegriffen werden soll. Dies ist
                          "ublicherweise der Name den ich z.B. in die Adresszeile
                          des Webbrowsers eingebe.
                          Beispiel: \texttt{mein-eisfair.local.lan}

                \item[5.] Optional die E-Mail-Adresse des Administrator, der
                          kontaktiert werden soll wenn es Fragen zum Zertifikat
                          zu kl"aren gilt.
                          Beispiel: \texttt{postmaster@local.lan}
            \end{itemize}

        \subsubsection{Die Zertifikatserstellung (CERT)}

            \begin{itemize}
                \item[1.] "Uber setup \pfeil Service Administration \pfeil Certs service
                          \pfeil Manage certificates startet man das Programm zur
                          Zertifikatserstellung:

                    \graphic{center}{width=140mm}{./pics/certs-cert-02-1.png}{Zertifikatsmen"u}

                \item[2.] "Uber den Men"upunkt '2' w"ahlt man durch Dr"ucken von
                          'n' aus, dass ein neues Zertifikat erstellt werden
                          soll und gibt anschlie"send den prim"aren DNS-Namen
                          als Zertifikatsnamen ein. Dies hat den Vorteil, dass
                          man das Zertifikat sp"ater jederzeit dem richtigen
                          Server zuordnen kann.

                    \graphic{center}{width=140mm}{./pics/certs-cert-02-1.png}{Zertifikatsnamen setzen}

                \item[3.] Nun erstellt man "uber den Men"upunkt '10' und durch
                          Dr"ucken von 'n', einen neuen Schl"ussel mit der in
                          der "Uberschrift des Men"uabsatzes angezeigten St"arke
                          von 2048 Bit (Durch Dr"ucken von 'b' kann diese
                          Einstellung bei Bedarf zuvor angepasst werde). Der
                          standardm"a"sig verwendete Dateiname sollte m"oglichst
                          beibehalten werden.

                    \graphic{center}{width=140mm}{./pics/certs-cert-10-1.png}{Schl"ussel erstellen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-cert-10-2.png}{Schl"ussel erstellen - 2}

                \item[4.] Anschlie"send w"ahlt man den Men"upunkt '11' um eine
                          Zertifikatsanforderung zu erstellen. Alle f"ur das
                          Zertifikat entscheidenden Informationen, welche man
                          anfangs zusammen getragen hat, werden nun eingegeben.
                          Folgende Besonderheiten gilt es zu beachten:

                    \begin{itemize}
                        \item[-] Die in eckigen Klammern angezeigten Standardwerte
                                 k"onnen durch Dr"ucken der Enter-Taste "ubernommen
                                 werden.
                        \item[-] Optionaler Werte, wie z.B. die E-Mail-Adresse,
                                 k"onnen durch Eingabe von '.' "ubersprungen werden.
                        \item[-] Will man ein Client-Zertifikat erstellen, um es z.B.
                                 zur Identifikationen seiner pers"onlichen Identit"at
                                 oder zum Signieren von VBA-Makros zu verwenden, so
                                 muss man dies bei der Abfrage des 'Common Name' durch
                                 das Voranstellen von 'USER:' kennzeichnen.

                                 Beispiel:\\
                                 \texttt{USER: My name is Tom Jones}\\
                                 \texttt{USER: Tom Jones VBA-Signing}
                        \item[-] Will man ein Server-Zertifikat erstellen, so k"onnen
                                 bei der Abfrage des 'Common Name', dem Standardnamen
                                 des \eisfair-Servers, auf Wunsch mehrere Namen, durch
                                 Komma getrennt, eingegeben werden.
                                 Durch Voranstellen von 'DNS:' kennzeichnet man dabei
                                 einen DNS-Namen, durch Voranstellen von 'IP:' eine
                                 IP-Adresse. Auf diese Weise ist es m"oglich den
                                 \eisfair-Server "uber verschiedene Namen anzusprechen.
                                 Wer ganz sicher gehen will, dass DNS-Namen bzw.
                                 IP-Adressen korrekt erkannt werden, verwendet die
                                 beschriebenen Pr"afixe, ansonsten wird versucht die
                                 Eingaben automatisch zuzuordnen, was unter Umst"anden
                                 zu Fehlern f"uhren kann. Voraussetzung hierf"ur ist
                                 es nat"urlich, dass der verwendete DNS-Server die
                                 Namen auch korrekt aufl"ost;-)

                                 Beispiel:\\
                                 \texttt{DNS:mein-eisfair.local.lan,DNS:mail.local.lan,IP:192.168.6.1}
                    \end{itemize}
                    \graphic{center}{width=140mm}{./pics/certs-cert-11-1.png}{Zertifikatsanforderung erstellen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-cert-11-2.png}{Zertifikatsanforderung erstellen - 2}

                \item[5.] Danach w"ahlt man den Men"upunkt '12' aus, um die
                          zuvor erstellte Zertifikatsanforderung zu unterzeichnen,
                          d.h. zu best"atigen, dass dies ein g"ultiges Zertifikat
                          im eigenen kleinen Netzwerk ist.

                    \graphic{center}{width=140mm}{./pics/certs-cert-12-1.png}{Zertifikat erstellen - 1}

                          Falls man aufgefordert werden sollte die Zertifikatsdatenbank
                          zu aktualisieren sollte man dies best"atigen, um sicher
                          zu stellen, dass diese den korrekten Status (g"ultig,
                          abgelaufen, widerrufen) aller bisher generierten Zertifikate
                          enth"alt. Hier muss zum ersten Mal das geheime Kennwort des
                          CA-Schl"ussels eingegeben werden!

                    \graphic{center}{width=140mm}{./pics/certs-cert-12-2.png}{Zertifikat erstellen - 2}

                          Im Anschluss werden die wichtigsten Details der
                          Zertifikatsanfrage am Bildschirm angezeigt. Dazu geh"oren
                          der verwendete Schl"usseltyp, dessen St"arke (z.B. 2048 Bit),
                          die Adress- und Verwendungsdaten, sowie der bzw. die DNS-Namen
                          (Common Name) des Servers. Da im Beispiel nur ein DNS-Name
                          eingegeben wurde, wird logischerweise auch nur ein Name
                          angezeigt.

                    \graphic{center}{width=140mm}{./pics/certs-cert-12-3.png}{Zertifikat erstellen - 3}
                    \graphic{center}{width=140mm}{./pics/certs-cert-12-4.png}{Zertifikat erstellen - 4}
                    \graphic{center}{width=140mm}{./pics/certs-cert-12-5.png}{Zertifikat erstellen - 5}

                \item[6.] Nachdem die Zertifikatsanforderung unterschrieben
                          wurde, folgt nun die Generierung der Diffie-Hellmann
                          Parameter, welche f"ur den sicheren Schl"usselaustausch
                          beim Zugriff auf einen Dienst ben"otigt werden, indem
                          man den Men"upunkt '13' anw"ahlt.

                    \graphic{center}{width=140mm}{./pics/certs-cert-13-1.png}{Diffie-Hellman-Parameter erzeugen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-cert-13-2.png}{Diffie-Hellman-Parameter erzeugen - 2}

                \item[7.] "Uber den Men"upunkt '14', werden im Anschluss die
                          zuvor erzeugten Zertifikatskomponenten in ein gemeinsame
                          Zertifikatsdatei zusammengef"uhrt und in das korrekte
                          Serververzeichnis kopieren.

                    \graphic{center}{width=140mm}{./pics/certs-cert-14-1.png}{Zertifikat kopieren - 1}
                    \graphic{center}{width=140mm}{./pics/certs-cert-14-2.png}{Zertifikat kopieren - 2}

                \item[8.] Da viele Webbrowser Zertifikatsdateien nicht im PEM-Format
                          importieren k"onnen wird nun "uber den Men"upunkt '15' eine
                          Zertifikatsdatei im PKSC\#12-Format erzeugt und mittels eines
                          Export-Kennwortes gesichert.\\
                          Die Zertifikatsdateien kann man sich bei Bedarf "uber die
                          E-Mail-Funktion, welche im Hauptmen"u durch Dr"ucken von
                          'e' aufgerufen werden kann, zusenden und dann auf den
                          gew"unschten Klientenrechner kopieren. Beim Import in den
                          Zertifikatsspeicher des gew"unschten Webbrowsers muss das
                          beim Export festgelegte Kennwort eingegeben werden.

                    \graphic{center}{width=140mm}{./pics/certs-cert-15-1.png}{PKSC\#12-Zertifikat erzeugen - 1}
                    \graphic{center}{width=140mm}{./pics/certs-cert-15-2.png}{PKSC\#12-Zertifikat erzeugen - 2}

                \item[9.] Damit Web- und E-Mail-Server nun das erzeugte Zertifikat
                          verwenden k"onnen, m"ussen abschlie"send, durch Aufruf
                          des Men"upunktes '16', symbolische Links angelegt werden,
                          die auf die Zertifikatsdatei verweisen.\\
                          Der Apache2-Webserver sucht z.B. standardm"a"sig nach
                          einer Zertifikatsdatei mit dem Namen 'apache.pem', der
                          Exim E-Mail-Server hingegen verwendet standardm"a"sig
                          die Dateinamen, 'imapd.pem', 'ipop3d.pem' und exim.pem'
                          um eine Zertifikatsdatei zu laden, abh"angig von dem
                          angesprochenen Programmmodul.

                    \graphic{center}{width=140mm}{./pics/certs-cert-16-1.png}{Symbolische Links erzeugen - 1}

                          Durch Auswahl der Unterpunkte '1' bzw. '3' kann man
                          dann die ben"otigten symbolischen Links anlegen. Zur
                          Best"atigung wird anschlie"send der Verweis auf die
                          Zertifikatsdatei hinter den entsprechenden Dateinamen
                          angezeigt (-> mein-eisfair.local.lan).

                    \graphic{center}{width=140mm}{./pics/certs-cert-16-2.png}{Symbolische Links erzeugen - 2}
            \end{itemize}

    \subsection{Ein Zertifikat widerrufen}

        Will man ein Zertifikat widerrufen, so geht man wie folgt vor.\\
        \achtung{Einmal widerrufende Zertifikate kann und sollte man normalerweise nicht wieder reaktivieren.}

        \begin{itemize}
            \item[1] "Uber den Men"upunkt 1 w"ahlt man den Key-Typ 1 'Certificate Authority (CA)' aus.
            \item[2] "Uber den Men"upunkt 7 'revoke a certificate' ruft man die Widerrufsfunktion auf.
            \item[3] Aus der angezeigten Liste der vorhandenen Zertifikate w"ahlt man das zu widerrufende
                Zertifikat, durch Eingabe der vorangestellten Ziffer, aus.
            \item[4] Aus der angezeigten Liste der Widerrufsgr"unde w"ahlt man den zu verwendenden
                Grund f"ur den Widerruf aus.
            \item[5] Den Widerruf des Zertifikats muss man nun noch durch Eingabe des CA-Schl"ussel
                Kennwortes best"atigen.
            \item[6] Danach wird man gefragt, ob auch gleich die Widerrufsliste aktualisiert werden
                soll. Beantwortet man die Abfrage 'Update revocation list' mit 'yes', so wird nach
                erneuter Eingabe des  CA-Schl"ussel Kennwortes die Widerrufsliste aktualisiert.
        \end{itemize}

    \subsection{Die Widerrufsliste aktualisieren}

        Will man die Liste der widerrufenden Zertifikate aktualisieren, so geht man wie folgt vor:

        \begin{itemize}
            \item[1] "Uber den Men"upunkt 1 w"ahlt man den Key-Typ 1 'Certificate Authority (CA)' aus.
            \item[2] "Uber den Men"upunkt 8 'update revocation list' ruft man die Funktion zur
                Aktualisierung der Widerrufsliste auf.
            \item[3] Danach wird man gefragt, ob die Widerrufsliste wirklich aktualisiert werden soll.
                Beantwortet man die Abfrage 'Update revocation list' mit 'Y'es, so wird man noch nach
                der gew"unschten G"ultigkeitsdauer der CRL und dem CA-Schl"ussel Kennwort gefragt.
                Wurden diese eingegeben, so wird die Widerrufsliste aktualisiert.
        \end{itemize}

    \subsection{Ein Zertifikat aktualisieren}

        Einmal im Jahr kommt der Zeitpunkt, dass z.B. das Mail-Paket ein auslaufendes SSL-Zertifikat
        meldet. Sp"atestens dann "uberlegt man, wie man dieses im Vorjahr aktualisiert hat.\\

        In dieser Beschreibung wird davon ausgegangen, dass ein Mail-Paket auf dem Server mit dem
        Hostnamen 'florence' l"auft und dessen Mail-Domainname 'mail.nightingale.de' lautet. Folgende
        Schritte m"ussen hierf"ur durchgef"uhrt werden:\\

        \begin{itemize}
            \item[1] Erst einmal schaut man sich den Inhalt des aktuellen Zertifikates an, um sich
                bewusst zu machen, welche Informationen in der Datei enthalten sind bzw. mit welchen
                das existierende Zertifikat beantragt wurde. Hierzu gibt man an der Konsole folgenden
                Befehl ein und notiert sich die Bildschirmausgaben (man kann diese nat"urlich auch in
                eine Datei schreiben lassen).

                \begin{verbatim}
openssl x509 -in /usr/local/ssl/certs/mail.nightingale.de.pem
             -noout -text
                \end{verbatim}

            \item[2] Dann ruft man im Setup-Men"u die folgenden Men"upunkte auf um in die
                Zertifikatsverwaltung zu gelangen:

                \begin{verbatim}
-> Service administration
   -> Certs Service
      -> Manage certificates
                \end{verbatim}

            \item[2.1] Dort angelangt w"ahlt man den Men"upunkt 1 (change/set key type) und selektiert
                Punkt 2 (Client/server certificate).

            \item[2.2] Anschlie"send w"ahlt man den Men"upunk 2 (change/set certificate name) und gibt den
                Domainnamen des Servers ein, f"ur den ein Zertifikat erneuert werden soll:

                Eingabe: mail.nightingale.de

            \item[2.3] Im folgenden Schritt w"ahlt man "uber den Men"upunkt '10', 'select \(e\)xisting key'
                aus und selektiert aus der angezeigten Schl"usselliste die Datei 'florence.key'.

            \item[2.4] Nach diesen Vorbereitungen muss nun der vom Vorjahr bereits existierende
                Zertifikatsanforderung mit dem CA-Schl"ussel signiert werden. Hierzu w"ahlt man den Punkt 12
                (sign certificate request with CA key) und folgt den Bildschirmausgaben. Nun gilt
                es nur noch eine Entscheidung zu treffen, ob man ein Server- (Server usage) oder
                ein Anwenderzertifikat f"ur z.B. S/MIME (Client usage) erstellen m"ochte und schon
                hat ein ein aktualisiertes Zertifikat erstellt.

                \begin{verbatim}
-> The certificate /usr/local/ssl/newcerts/mail.nightingale.de.crt
   has already been signed, proceed anyway (y/N):

   Eingabe: y (yes)

   Eingabe: Enter

   -> Using configuration from /usr/local/ssl/openssl.cnf
      Enter pass phrase for /usr/local/ssl/private/ca.key:

      Eingabe: geheimes CA Kennwort

      Check that the request matches the signature
      Signature ok
      The Subject's Distinguished Name is as follows
      countryName           :PRINTABLE:'DE'
      stateOrProvinceName   :PRINTABLE:'Nordrhein Westfalen'
      localityName          :PRINTABLE:'Duesseldorf'
      organizationName      :PRINTABLE:'Guru Mail Admin'
      organizationalUnitName:PRINTABLE:'My Email Services'
      commonName            :PRINTABLE:'mail.nightingale.de'

      Certificate is to be certified until Oct 26 19:52:11 2007 GMT (365 days)
      Sign the certificate? [y/n]:

      Eingabe: y (yes)

      1 out of 1 certificate requests certified, commit? [y/n]

      Eingabe: y (yes)

      Write out database with 1 new entries
      Data Base Updated
      /usr/local/ssl/newcerts/mail.nightingale.de.crt: OK
                \end{verbatim}

            \item[2.5] Nach der erfolgreichen Unterzeichnung des Zertifikates muss noch "uber den
                Men"upunkt 13 ein 'Diffie-Hellman Parameter' generiert werden, falls dieser nicht
                schon existiert.

            \item[2.6] Abschlie"send wird das Zertifikat mittels des Men"upunktes 14 in eine
                .pem-Datei umgewandelt, in das Zertifikatsverzeichnis kopiert und die Hashwerte
                aktualisiert:

                \begin{verbatim}
-> create .pem certificate and copy it to /usr/local/ssl/certs - done.
   -> The certificate /usr/local/ssl/certs/mail.nightingale.de.pem does
      already exist, proceed anyway (y/N)

      Eingabe: y (yes)
                \end{verbatim}
        \end{itemize}

\section{Verschiedenes}

    \subsection{Der Abruf eines Server-Zertifikates}

        Will man die E-Mail-"Ubermittlung von und zu seinem Provider "uber ein TLS-Zertifikat absichern,
        so muss man sich dieses zuvor von dessen Mail-Server herunterladen und auf seinem eigenen
        Mail-Server installieren. Am Beispiel einiger bekannter E-Mail-Provider soll dies exemplarisch
        verdeutlicht werden. Der aufgef"uhrte Befehl wird bei POP3-Servern verwendet, bei IMAP-Servern
        muss an Stelle von 995 der Port 993 angegeben werden.

        \begin{verbatim}
web.de:     openssl s_client -connect pop3.web.de:995 -showcerts
gmx.net:    openssl s_client -connect pop.gmx.net:995 -showcerts
        \end{verbatim}
        Aus den angezeigten Informationen wird der Datenblock, welcher durch
        \texttt{'-----BEGIN\ CERTIFICATE-----'} und
        \texttt{'-----END\ CERTIFICATE-----'} gekapselt ist, markiert und in eine
        Datei mit z.B. dem Namen 'web.de-pop3.pem' kopiert. Die Datei muss dann im Verzeichnis
        /usr/local/ssl/certs abgelegt werden.

        Beispiel:
    \begin{verbatim}
-----BEGIN CERTIFICATE-----
MII[...]
-----END CERTIFICATE-----
        \end{verbatim}

        F"ur alle Zertifikate muss ein Hash-Schl"ussel durch Aufruf von
        '/var/install/bin/certs-update-hashes' (Men"upunkt: 1 - certificate folder)
        angelegt werden.\\

    \subsection{Die Liste der Zertifikatswiderrufslisten anpassen}

        Soll eine weitere Zertifikatswiderrufsliste (CRL) automatisch heruntergeladen werden,
        so muss deren URL zur Datei /usr/local/ssl/certs-update-crl-lists hinzugef"ugt werden.
        Danach kann man "uber den Men"upunkt 'Download revocation list(s)' das Herunterladen
        der CRLs ansto"sen. Automatisiert geschieht dies wenn \jump{CERTSCRLCRON}{CERTS\_CRL\_CRON='yes'}
        gesetzt und ein Intervall "uber den Parameter \jump{CERTSCRLCRONSCHEDULE}{CERTS\_CRL\_CRON\_SCHEDULE}
        definiert wurde.

    \subsection{Die PKI-Policy erstellen bzw. anpassen}

        Standardm"a"sig wird im Verzeichnis /usr/local/ssl/web die Datei x509policy.html
        angelegt, welche, bei einem installiertem Apache2-Paket, "uber die folgende
        URL abgerufen werden kann und auf welche in jedem selbst erstelltem Zertifikat
        referenziert wird:\\
        http://APACHE2\_SERVER\_NAME/certs/x509policy.html\\
        Diese Datei enth"alt erste Hinweise f"ur das Erstellen einer eigenen PKI-Policy,
        welches es bei Bedarf zu erstellen gilt.

    \subsection{Den Inhalt von Zertifikaten anzeigen}

        "Uber verschiedenste Befehle kann man sich Informationen aus den Zertifikaten anzeigen lassen:

        Zertifikat in Textform ausgeben:
        \begin{verbatim}
openssl x509 -in gmx.net-pop3.pem -noout -text
        \end{verbatim}
        Zertifikat-Betreff ausgeben:
        \begin{verbatim}
openssl x509 -in gmx.net-pop3.pem -noout -subject
        \end{verbatim}
        Zertifikat-Aussteller ausgeben:
        \begin{verbatim}
openssl x509 -in gmx.net-pop3.pem -noout -issuer
        \end{verbatim}
        Zertifikat-Laufzeit ausgeben:
        \begin{verbatim}
openssl x509 -in gmx.net-pop3.pem -noout -dates
        \end{verbatim}
        MD5-Fingerprint ausgeben:
        \begin{verbatim}
openssl x509 -in gmx.net-pop3.pem -noout -fingerprint -md5
        \end{verbatim}

