Übersicht Office Suite Dokumentation Vorlagen & Cliparts Erweiterungen Zusätzliche Programme Entwicklung Impressum & Lizenzen Sitemap

Dokumente digital signieren mit OOo 2.x unter Linux

Übersicht

Hier erfahren Sie, wie man mit Hilfe von OpenOffice.org 2 unter Linux ein Zertifikat anlegt, mit dem man seine Dokumente digital signieren kann.

Es wird davon ausgegangen, dass der Benutzer mit der Shell und den Grundlagen des verwendeten Betriebssystems vertraut ist.

Voraussetzungen

Um digitales Signieren von OpenOffice.org Dokumenten zu unterstützen, sind unter Linux folgende weitere Programme notwendig:

WWW Link ins Internet OpenSSL

OpenSSL stellt die erforderlichen Verschlüsselungsalgorithmen zur Verfügung, mit denen zunächst ein WWW Link ins Internet RSA-Schlüssel generiert wird und folgend das Zertifikat.

WWW Link ins Internet Mozilla Thunderbird

Mozilla Thunderbird oder Firefox ist notwendig um das Zertifikat in deren cert8.db zu importieren. OpenOffice.org greift beim Signieren darauf zu.

Hinweis: Wenn Firefox und Thunderbird installiert sind, erkennt OpenOffice.org nur die cert8.db von Thunderbird.

Erstellen des Zertifikats

Es gibt zwei grundlegende Wege, das Zertifikat zu erstellen. Man generiert ein sogenanntes Certificate Request, schickt es einer Certificate Authority (CA) und bekommt ein signiertes Zertifikat zurück, mit dem man dann fortfahren könnte.

Da dies jedoch in der Regel (viel) Geld kostet - außer z.B. bei WWW Link ins Internet CACert - entscheiden wir uns für die Variante des selbst-signierten Zertifikats.

Zur Erstellung des Zertifikats benutzt man in der Regel das Programm openssl aus der dem Paket openssl, welches ausschließlich auf der Shell arbeitet. Darauf aufsetzend existiert WWW Link ins Internet TinyCA, das ein GTK-Frontend zur einfacheren Bedienung bietet. (WWW Link ins Internet Weiterführende Informationen)

An einer Konsole (z.B. xterm) führen Sie zunächst folgenden Befehl aus:

$ openssl genrsa -des3 -out privkey.pem 2048

Das Programm openssl wird mit dem Befehl genrsa aufgefordert, einen RSA-Schlüssel zu erzeugen. Da das Verfahren der Zertifikate auf einem Public-Key-Verfahren beruht, wird erst der private Schlüssel erzeugt von dem dann der öffentliche erstellt wird.

Der Parameter -des3 veranlasst das Programm, nach einem Passphrase zu fragen, der für die Verschlüsselung benutzt wird. -out privkey.pem gibt die Datei an, in die der Schlüssel geschrieben wird und schließlich legen wir mit 2048 fest, wie stark die Verschlüsselung in Bit sein soll (d.h. die Länge des Modulus).

Wenn der Befehl abgesetzt wird, sollten in etwa folgende Zeilen erscheinen:

Generating RSA private key, 2048 bit long modulus
..................................+++
...........+++
e is 65537 (0x10001)
Enter pass phrase for privkey.pem:
Verifying - Enter pass phrase for privkey.pem:

Wenn Sie das Passwort eingeben, werden keine Echozeichen angezeigt.

Der Schlüssel - hier im Beispiel privkey.pem - sollte in etwa so aussehen (gekürzte Fassung):

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,75BEF0DBDEB1FEE9

tHZsHxvMuqw8EzK0Ud65cicQ4960RV9J1EsDZ4wJKCxwTlFQS1/44ayj6Tf1eBRW
.
.
.
0O5GqXP/1FVzUrhHEci0T33PVgQLwgw2WorMrHTeMTFLfXq2dUpetPwx7vcbAS33
-----END RSA PRIVATE KEY-----

Als nächstes ist das Zertifikat zu erstellen mittels:

$ openssl req -new -x509 -key privkey.pem -out cacert.pem -days 31

openssl wird nun mit dem Befehl req gestartet, der das X.509 Certificate Signing Request (CSR) Management übernimmt. Die Parameter -new -x509 veranlassen die Erstellung eines WWW Link ins Internet X.509-Zertifikats. Der zu benutzende private Schlüssel wird mit -key privkey.pem spezifiziert, die Ausgabedatei mit -out cacert.pem und der Gültigkeitszeitraum mit -days auf 31 Tage festgelegt.

Erst wird nach dem Passwort für den privaten Schlüssel gefragt:

Enter pass phrase for privkey.pem:

Darauffolgend werden Sie nach einigen standortbezogenen und persönlichen Informationen über sich gefragt, die in das Zertifikat einfließen:

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) [AU]:DE
State or Province Name (full name) [Some-State]:Nordrhein Westfalen
Locality Name (eg, city) []:Hamm
Organization Name (eg, company) [Internet Widgits Pty Ltd]:McOr.Bitter Inc.
Organizational Unit Name (eg, section) []:Research and Development
Common Name (eg, YOUR name) []:Simon A. Wilper
Email Address []:webmaster@mcorbitter.de

Das Zertifikat sollte danach in der Datei cacert.pem vorliegen.

Der letzte Schritt besteht in der Überführung in das PKCS#12-Format, da Mozilla Firefox und Thunderbird nur dieses Format importieren können:

$ openssl pkcs12 -export -inkey privkey.pem -in cacert.pem -out cacert.p12

Hier wird zunächst ein weiteres Mal das Passwort für den privaten Schlüssel angefordert und ein zweites Export-Passwort, das zweimal eingegeben wird:

Enter pass phrase for privkey.pem:
Enter Export Password:
Verifying - Enter Export Password:

Es sollte nun die Datei cacert.p12 vorliegen.

Import der PKCS-Datei in Thunderbird

Starten Sie nun Mozilla Thunderbird und öffnen Sie den Optionsdialog über Edit - Preferences.

Thunderbird Optionsdialog

Klicken Sie links unten auf Advanced und scrollen Sie zu dem Punkt Certificates. Nach Klick auf den Knopf Manage Certificates erscheint folgendes Dialogfenster:

Thunderbird Manage Certificates

Importieren Sie nun die PKCS#12-Datei mittels Import. Es wird nach dem Master-Password des Software Security Devices gefragt. Hierbei handelt es sich um das Passwort, das bei der Generierung des privaten Schlüssels angegeben wurde. Nach dessen Eingabe wird das zweite Passwort angefordert, das, mit dem der Schlüssel in das PKCS#12-Format exportiert wurde.

Somit sollte eine Meldung erscheinen, die das erfolgreiche Importieren des Zertifikats bescheinigt. Mit Klick auf View kann man sich noch einmal vom Zustand und der Richtigkeit aller Daten überzeugen, bevor man ein OpenOffice.org-Dokument damit signiert.

Signieren eines Textdokuments

Starten Sie jetzt OpenOffice.org, erstellen Sie ein neues Textdokument und speichern es. Rufen Sie den Dialog Digitale Signaturen mittels Datei - Digitale Signaturen auf und fügen ein Zertifikat hinzu.

Digitale Signaturen

Durch Klicken auf Hinzufügen werden zwei neue Fenster geöffnet:

Passwortabfrage

Es wird wiederum nach dem Passwort gefragt, mit dem der private Schlüssel verschlüsselt wurde. Ein weiteres Fenster öffnet sich, das die verfügbaren Zertifikate auflistet. Wählen Sie das entsprechende aus und bestätigen Sie. Das Fenster Digitale Signaturen sollte nun ein Element enthalten:

Digitale Signaturen -
Zertifikat hinzugefügt

Klicken Sie auf OK. In der Statuszeile sollte nun ein rotes Siegel-Symbol erscheinen:

Statuszeile

Public Documentation License Notice

The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at WWW Link ins Internet www.openoffice.org/licenses/PDL.html.
The Initial Writer of the Original Documentation is Email Simon A. Wilper.
Copyright © 2005. All Rights Reserved.