Zu den möglichen Einsatzzwecken von x.509 Zertifikaten gehört nicht nur das digitale Unterschreiben von E‑Mail Nachrichten, auch Office-Anwendungen bieten vielfältige Möglichkeiten, zum Beispiel um sicher zu stellen, dass Arbeitskopien nicht unberechtigt verändert werden.
Für viele Anwender hochinteressant dürfte aber auch das Signieren von PDF-Dateien sein.
Seit Jahren sind in der Standardsoftware „Acrobat“ des Marktführers Adobe [1] diverse Optionen zur Signatur von PDF-Dateien vorhanden:
— normale Unterschrift
— Zertifizierungsunterschrift / keine weiteren Änderungen zulässig
— Anbringen von Zeitstempeln, um die Gültigkeit des Zertifikats zum Zeitpunkt der Signatur nachzuweisen.
Wer sich nach kostenlosen oder kostengünstigeren Alternativen hierfür umsieht, wird auf ein beschauliches Angebot treffen.
Im Folgenden werde ich kurz zwei Programme vorstellen, zum einen das OpenSource Programm PortableSigner [2] sowie den für Privatanwender kostenfreie Perfect PDF Reader 5 [3] der Firma soft xpansion.
1) PortableSigner. Wird seit einigen Jahren kontinuierlich weiter entwickelt und bietet derzeit eine einfache Möglichkeit zur Signatur von PDF-Dateien. Als JAVA Anwendung ist das Programm plattformunabhängig. Dies erkauft man sich mit dem Nachteil, dass die Zertifikate derzeit noch in Dateiform ausgewählt werden müssen, und nicht aus dem Windows Zertifikats-Speicher ausgelesen werden können.
Leider bietet diese gut gemachte Software derzeit keine Möglichkeit, einen Zeitstempel anzubringen. Überhaupt scheint dies mit den häufig in OpenSource Anwendungen verwendeten pdf-libraries schwierig zu sein, mir ist bisher kein lauffähiges Beispiel bekannt, auch wenn es offenbar Erfolge mit iText gibt.
2.) Perfect PDF Reader. Primär als kostenloser PDF-Betrachter gedacht, aufbauend auf der Plattform der kostenpflichtigen (40–60 EUR) Applikationen zur Nachbearbeitung von PDFs, bietet diese Anwendung in der Tat Möglichkeiten zur Signatur bestehender PDF-Dateien nach allen Regeln der Kunst. Es können normale Unterschriften, Zertifizierungen und wahlweise auch Zeitstempel angebracht werden — ein Novum!
Die Zeitstempelfunktion hat zwei Timestamping-Server voreingestellt, zum einen vom DFN sowie von Geotrust. Letzterer liefert Zeitstempel aus, die sogar vom Adobe Root CA signiert sind, was Probleme in Bezug auf die Überprüfung der Unterschriften im Adobe Reader vermeidet.
Des Weiteren ist auch eine Unterstützung für Zertifikate im Windows Zertifikats-Speicher vorhanden.
Da die Software die Spezifikation recht streng auslegt, müssen die x.509 Zertifikate über zwei Attribute verfügen: CERT_NON_REPUDIATION_KEY_USAGE(0x40) oder CERT_DIGITAL_SIGNATURE_KEY_USAGE(0x80). Wer kostenlose Zertifkate der Fa. Thawte verwendet, sollte diese bei der Beantragung die „extensions“ manuell aktivieren und nicht auf die „default“ Konfiguration zurückgreifen. Andernfalls kann es passieren, dass die Zertifikate von der Software nicht erkannt werden.
Alles in allem ist der „Perfect PDF Reader“ in meinen Augen die derzeit leistungsfähigste Freeware zur PDF-Signatur. Ein großes Lob an den Hersteller soft-xpansion, dass er die Signaturfunktion auch in seinem kostenlosen Produkt bereit stellt, anders als es bei Wettbewerbern bisher üblich war.
Ein paar Worte noch zur Überprüfung der Unterschriften:
Viele Nutzer von CAcert kennen sicher das leidige Thema fehlender Root-Zertifikate. Bevor E‑Mails als gültig unterschrieben gelten, müssen zuerst die Wurzelzertifikate installiert werden, dies verunsichert den Anwender und so weiter… Die gratis „Freemail“ Zertifikate von Thawte bzw. dem Thawte Web-of-Trust werden immerhin von Windows und gängigen E‑Mail Programmen bereits anerkannt. Adobe geht jedoch einen Schritt weiter und fordert in der Standardeinstellung des Adobe-Readers durch eine sog. Adobe Root CA signierte Zertifikate — diese sind jedoch nur für sehr viel Geld erhältlich (Bsp. [4]).
Um diese Schranken ein wenig zu lockern, kann unter Windows folgende Einstellung gemacht werden: In den Optionen im Reiter „Sicherheit“, „Erweiterte Voreinstellungen“ im Reiter „Windows-Integration“ können durch Auswahl aller Checkboxen die im Windows Zertifikatsspeicher vorhandenen Root-Zertifikate als vertrauenswürdig hinzugenommen werden. Sofern das CAcert Root Zertifikat hier installiert ist, werden die PDF-Signaturen anschließend auch als vollkommen valide anerkannt.
Abschließend möchte ich noch darauf hinweisen, dass sich die genannten Produkte in Verbindung mit kostenlosen Zertifikaten für freiberuflich tätige Personen zwar geradezu anbieten, um Rechnungen ganz modern als PDF zu verschicken. Die rechtliche Seite ist hier aber noch nicht geklärt. Das Signaturgesetz (SigG) stellt sehr hohe Anforderungen an die Zertifikatsherausgeber, um einer handschriftlichen Unterschrift gleich zu kommen. Die geforderte „Klasse 3“, der die Zertifikate genügen müssen, setzt unter anderem die Verwendung einer Chipkarte voraus, da dies hier nicht gegeben ist, wird eine derartige „qualifizierte“ Signatur nicht erreicht. Eine Einstufung, ob das Web-of-Trust Prozedere von Thawte und CAcert allerdings einer „fortschrittlichen Signatur“ (Klasse 2) Rechnung trägt, ist mir nicht bekannt.
Um die Authentizität von PDF-Dokumenten sicher zu stellen, reichen die hier vorgestellten Lösungen aber alle mal!
[1] Adobe Acrobat, http://www.adobe.com/de/products/acrobat/?promoid=BPBAU
[2] Portablesigner, http://portablesigner.sourceforge.net/index-de.html
[3] Perfect PDF Reader 5, http://de.soft-xpansion.eu/products/freeware/reader/
[4]:My Credential for Adobe, http://geotrust.com/signing-products/document-signing/individual/