Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Diese Anleitung gilt für das certs-Paket ab Version 1.5.1.

Im Folgenden sind die nacheinander auszuführenden Schritte dargestellt:

Stoppen des at-Daemons

Code Block
languagebash
# /usr/sbin/service stop atd.service

Löschen der CRL-AT-Jobs

Code Block
languagebash
# /var/install/bin/certs-update-crl --deletejobs

...

Code Block
languagetext
# /var/install/bin/certs-create-tls-certs crl
Certificate generation
Parameters
  = - change/set certificate type: ca
  = - change/set certificate name: ca
 
Certificate Authority (CA) (sha384) (2048bits)
  3 - [✓] create a CA key
  4 - [✓] create a self-signed CA certificate (valid until: xx.xx.xxxx)
  5 - [✓] create .pem CA certificate and copy it to /usr/local/ssl/certs
  6 - show CA key and certificate file location
  7 - revoke a certificate
  8 - update revocation list
Please select (3-8), change (b)its/(h)ash, (e)mail certs, (q)uit? 

Sind die Punkte 3-5 abgehakt, ist das lokale CA korrekt erstellt und nun muss 8 aufgerufen werden:

Please select (3-8), change (b)its/(h)ash, (e)mail certs, (q)uit? 8
Update revocation list now (y/n) [n]? y
You have to enter the following data:

 1. Select CRL due days.
 2. Passphrase of your CA key.

Press ENTER to continue

 1 - use default CRL validity: 30 days
 2 - set individual CRL validity

Please choose desired option (1-2) [1]?

Wenn eine eigene Gültigkeitsdauer gewünscht ist, ist nun 2 und die Gültigkeitsdauer sonst 1 anzugeben:

Please choose desired option (1-2) [1]? 2
Please enter number of validity days or hours (e.g. 8h) [30]? 60

Nun ist abschließend das Passwort für das lokale CA einzutippen:

Using configuration from /usr/local/ssl/openssl.cnf
Enter pass phrase for /usr/local/ssl/private/ca.key: meinpasswort
updating hashes '/usr/local/ssl/crl' ...

Nun beenden wir den Assistenten mit q:

Please select (3-8), change (b)its/(h)ash, (e)mail certs, (q)uit? q

Download der CRLs und Anlegen der AT-Jobs

Code Block
languagebash
# /var/install/bin/certs-update-crl --all

Starten des at-Daemons

Code Block
languagebash
# /usr/sbin/service start atd.service

Zusammenfassung aller Schritte

Code Block
languagebash
# /usr/sbin/service stop atd.service
# /var/install/bin/certs-update-crl --deletejobs
# cd /var/certs/ssl/crl
# rm *
# cd ..
# cp certs-update-crl-list.std certs-update-crl-list
# /var/install/bin/certs-create-tls-certs crl
# /var/install/bin/certs-update-crl --all
# /usr/sbin/service start atd.service

Skriptvorschlag zur automatischen CRL-Bereinigung

Das folgende Skript fasst die notwendigen Schritte zur CRL-Bereinigung zusammen, wobei der Schritt Neuerstellung des CRL für die eigene CA ausgelassen wurde, da das Skript versucht, das CRL der eigenen CA zu erhalten, was allerdings nur gelingt, wenn dieses nach dem Schema <full_qualified_hostname>-crl.pem und <full_qualified_hostname>-der.pem benannt ist.

Code Block
languagebash
#!/bin/sh

# CRL_cleanup

atdrunning=no
(/usr/sbin/service status atd.service | grep "(running) since") && atdrunning=yes

if [ "${atdrunning}" = "yes" ]
then
    /usr/sbin/service stop atd.service
fi

hostname=$(hostname -f)

echo | /var/install/bin/certs-update-crl --deletejobs
echo

cd /var/certs/ssl/crl

crls=$(ls)
for f in ${crls}
do
    if echo ${f} | grep -vq "^${hostname}"
    then
        rm ${f}
    fi
done

cd ..

cp certs-update-crl-list.std certs-update-crl-list

echo | /var/install/bin/certs-update-crl --all
echo

if [ "${atdrunning}" = "yes" ]
then
    /usr/sbin/service start atd.service
fi