FH-Complete unterstützt die elektronische Signatur von Dokumenten. Damit können Dokumente (zb Zeugnisse) Amtssigniert werden.
Es können verschiedene Signaturprofile hinterlegt werden. Über diese kann das aussehen der Signaturen konfiguriert werden. Beim signieren der Dokumente wird per Default die Signatur im Ende des Dokuments hinzugefügt. Alternativ kann auch ein QR-Code im Dokument platziert werden. Der QR-Code wird dann beim Signieren durch die eigentliche Signatur ersetzt. Dadurch kann diese überall im Dokument platziert werden.
Signierte Dokumente können auf dieser Seite geprüft werden: https://www.signaturpruefung.gv.at/
Die Bildmarke und eine Beschreibung der Amtssignatur muss auf der offiziellen Webpräsenz veröffentlicht werden.
Die Signatur wird mit der Software PDF-AS erstellt. https://joinup.ec.europa.eu/solution/pdf
Der Sourcecode kann unter folgender Adresse heruntergeladen werden: https://apps.egiz.gv.at/releases/pdf-as/release/
Die Software wird in ein Verzeichnis am Server entpackt. Im Ordner conf/pdf-as/ muss die Datei pdf-as-webproperties editiert werden Dort wird ks.enabled=true gesetzt ks.file ist der Pfad zum p12 Zertifikat ks.pass ist das Passwort ks.key.alias ist der Name des Zertifikats Keys innerhalb des p12 ks.key.pass ist das Passwort des Keys
ks.enabled=true ks.file=/Amtssignatur/Zertifikat/digitalesignatur.p12 ks.type=PKCS12 ks.pass=secretpassword ks.key.alias=1 ks.key.pass=secretpassword
JSON API aktivieren (Dieser Eintrag muss manuell hinzugefügt werden. Er ist nicht Teil der Default Config)
json.enabled=true
Im Order /conf/pdf-as/cfg/profiles/ können eigene Profile für die Signatur erstellt werden.
Der Signaturserver wird mit ./startTomcat.sh im pdfas Haupt-Ordner gestartet.
Damit der PDF-AS Dienst automatisch startet kann ein Systemd-Service erstellt werden: /etc/systemd/system/pdfas.service:
[Unit] Description=PDF Amtssignatur Server After=network.target [Service] WorkingDirectory=/home/fhcomplete/pdfas User=fhcomplete ExecStart=/home/fhcomplete/pdfas/startTomcat.sh Restart=on-failure [Install] WantedBy=multi-user.target
Starten des Service:
systemctl start pdfas
Enable aufrufen damit der Service automatisch startet beim Reboot:
systemctl enable pdfas
In der Datei conf/pdf-as/cfg/advancedconfig.properties kann die QR Code Suche aktiviert werden damit in dem Dokument nach dem QR Code gesucht wird und dieser mit dem Signaturblock ersetzt wird:
enable_placeholder_search=true
Der QR-Code muss folgenden Text beinhalten: „FHC_AMT_GROSS_DE“ bezeichnet hierbei den Namen des Signaturprofils das verwendet werden soll.
PDF-AS-POS;profile=FHC_AMT_GROSS_DE
Vorgefertigte Platzhalter für die Verwendung in den Dokumenten finden Sie hier: QR-Code Platzhalter
Für die Anbindung an FH-Complete muss am Signaturserver das FHC-Amtssignatur Modul installiert werden. Dieses ist auf Github unter https://github.com/FH-Complete/FHC-Amtssignatur versioniert.
Dieses Modul erweitert den Signaturserver um
Zur Installation siehe https://github.com/FH-Complete/FHC-Amtssignatur/blob/master/README.md
Zur Aufbringung der Signatur wird ein Amtssignatur Zertifikat benötigt. Dieses kann bei der Firma A-Trust beantragt werden.
Für Testzwecke kann mit folgendem Befehl ein Testzertifikat erstellt werden:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout test.key -out test.crt
Mit folgendem Befehl kann daraus ein p12 File erstellt werden
openssl pkcs12 -export -in test.crt -inkey test.key -out test.p12
Wenn die Dokumente zum Signieren markiert sind, werden diese beim Archivieren im FAS automatisch signiert. Dazu sind folgende Schritte nötig:
Wird ein Dokument zur Signatur vorgesehen, wird vom Dokument_export automatisch ein „signed“ Attribut zur Datenquelle hinzugefügt. Anhand dessen kann in der Vorlage unterschieden werden ob das Bild für die Amtssignatur eingebunden wird oder stattdessen ein manueller Signaturblock geschrieben wird. Beim Aufruf über den normalen Menüpunkt wird dann das Dokument mit manuellem Signaturblock erstellt. Beim Archivieren wird das Dokument elektronisch signiert.
Signieren einzelner Dokumente funktioniert nicht und bricht mit folgender Fehlermeldung ab:
HTTP Status 500 - Failed to write PDF Document The server encountered an internal error that prevented it from fulfilling this request.
Dies kann daran liegen, dass einzelne Stellen im PDF nicht korrekt verarbeitet werden können. Hier kann es zB helfen an der entsprechenden Stelle einen Zeilenumbruch einzufügen.