Um PDF-Dateien elektronisch zu signieren nutze ich Okular und meinen Thunderbird-Zertifikatemanager. Verwendet wird hierbei ein PKI
-Schlüssel, den ich (in anderer Form) von meiner Hochschule erhalten haben.
Schlüssel ins PKI-Format bringen
Meine Methode nutzt den Thunderbird-Zertifiaktemanager, und dieser nimmt nur PKCS12
-Zertifikate an.
Von meiner Hochschule habe ich ein Zertifikat im PEM
-Format erhalten (cert.pem
und key.pem
), mit dem Thunderbird nichts anfangen kann. Daher wandle ich mir mein PEM
-Zertifikat in ein PKCS12
-Zertifikat um:
openssl pkcs12 -export -out keyStore.p12 -inkey key.pem -in cert.pem
Das umgewandelte Zertifikat liegt nun in Datei keyStore.p12
vor.
PKCS12 in Thunderbird importieren
In Thunderbird wähle ich Bearbeiten -> Einstellungen -> Datenschutz & Sicherheit -> Zertifikate -> Zertifikate verwalten
.
Es öffnet sich ein kleines Fenster, wählen Sie hier den Reiter “Ihre Zertifikate
” und klicken Sie auf Importieren...
.
Wählen Sie die eben erstellte Datei (keyStore.p12
) aus. Das importierte Zertifikat wird nun im Zertifikatemanager angezeigt.
Zertifikate in Okular einbinden
Öffnen Sie Okular und wählen im Menü “Einstellungen -> Anezigemodule einreichten...
”
Wählen Sie links den Reiter “PDF
”.
Wechseln Sie zum Punkt “Benutzerdefiniert
”, tragen dort den Pfad zu Ihrem Thunderbirdprofil (endet auf foobar.default
) ein, und klicken anschließen auf “Anwenden
”.
Okular muss nun neu gestartet werden.
Anschließend ist das Zertifikat “bereit” und wird in der Liste angezeigt.
PDF signieren
Öffnen Sie eine PDF-Datei in Okular.
Über den Menüpunkt “Extras -> Digital signieren...
” kann das Dokument nun signiert werden.
Sie werden aufgefordert, ein Rechteck zu ziehen, in welchem die Signatur sichtbar eingefügt werden soll.
Nachdem Sie das Rechteck gezogen haben, öffnet sich ein kleines Fenster. Klicken Sie hier auf OK
.
Sie werden nun aufgefordert, das neu signierte PDF-Dokument zu speichern, und hierfür einen Dateinamen anzugeben. Nach dem Speichern öffnet Okular automatisch das neu erstellte Dokument.
Die Signatur ist sichtbar eingefügt, und Okular weist darauf hin, dass das Dokument digital signiert ist. Klicken Sie auf “Signaturbereich anzeigen
”.
Im Signaturbereich links sehen Sie nun die digtitale Signatur mit dem Hinweis, dass diese kryptografisch gültig ist.
Bie mir funktioniert das wunderbar!
:-)
Ohne Thunderbird
Es geht auch ohne Thunderbird. Hierfür greifen wir auf das interne NSS-System zurück. Sofern nicht vorhanden muss der Ordner ~/.pki/nssdb
erstellt werden.
mkdir -p ~/.pki/nssdb
Nun kann das oben erstellte Zertifikat hinzugefügt werden,
pk12util -d ~/.pki/nssdb -i keyStore.p12
wobei keyStore.p12
das oben erstellte Zertifikat ist.
In Okular muss unter Einstellungen -> Anezigemodule einreichten...
im Bereich PDF unter “Benutzerdefiniert
” das Verzeichnis ~/.pki/nssdb
angegeben werden.
Nach einem Neustart von Okular ist das Zertifikat verfügbar und kann verwendet werden.
Weblinks
- https://gregbur.me/2022/04/28/deep-dive-digitally-signing-pdfs-with-okular/
- https://tu-dresden.de/zih/dienste/service-katalog/arbeitsumgebung/e_mail/pki/digital_sign_with_okular_under_unix?set_language=de
- https://serverfault.com/questions/831394/how-can-i-create-a-pkcs12-file-using-openssl-self-signed-certs