CIB doXisign technischer Leitfaden
Site: | CIB eLearning |
Course: | CIB doXisign |
Book: | CIB doXisign technischer Leitfaden |
Printed by: | Guest user |
Date: | Thursday, 21 November 2024, 7:07 PM |
1. Lieferumfang
CIB doXisign wird in Form einer einzelnen Datei namens doxisign-<version>.zip geliefert. Diese enthält:
Dateiname |
Erläuterung |
doxisign.war |
CIB doXisign als Java Web application archive |
Dieselbe war-Datei ist für Linux/Solaris/AIX und für Windows geeignet. Mit dieser war-Datei allein ist CIB doXisign bereits in einem Servlet-Container wie Tomcat lauffähig.
2. Überblick
CIB doXisign ist eine Web Applikation mit einem clientseitigen und einem serverseitigen Anteil.
Die Serverseite übernimmt im Wesentlichen die folgenden Aufgaben:
- Verwaltung von laufenden Signaturprozessen
- Digitales Signieren von Dokumenten
- Konfiguration eigener Zertifikate
- Optional: Ansteuerung einer Time Stamp Authoritiy für signierte Zeitstempel
- Optional: Erstellen eines Signaturverlaufsprotokolls
- Optional: Authentifizierung der Benutzers
Die Clientseite übernimmt folgende Aufgaben:
- Öffnen des Signaturpads für den Unterzeichnenden.
- Entgegennahme des Unterschriftenbildes (Touchpad, Maus, Schrift, Bild)
- Optional: Entgegennahme eines persönlichen Zertifikates
- Optional: Möglichkeit ein mobiles Endgerät mit dem Signaturprozess zu verbinden.
- Optional: Eingabe der Benutzerdaten für die Authentifizierung
In diesem Bereich werden die Funktionen nur knapp beschrieben, eine detaillierte Auflistung aller Möglichkeiten findet sich im Bereich „REST SCHNITTSTELLE“
2.1. Signaturprozess
Ein Dokument kann grundsätzliche mehrere Unterschriftenfelder besitzen. Diese Felder sollten innerhalb eines Signaturprozesses unterschrieben werden.
Wird ein Signaturprozess zum Unterschreiben aller Signaturfelder wiederverwendet, nennen wir ihn dokumentbasiert. Genauso kann aber auch für jedes Signaturfeld ein neuer Signaturprozess erzeugt werden. Diese Prozesse sind dann inhaltlich signaturfeldbasiert.
Die Auswahl eines dokumentbasierten oder signaturfeldbasierten Ablaufszenarios wirkt sich wie folgt aus:
- Speicherung von prozessbezogenen Daten in der integrierenden Applikation: Beim dokumentbasierten Ablaufszenario muss sich die aufrufende Anwendung die Prozess-ID merken, damit der Prozess pro Unterschriftenfeld wiederverwendet werden kann. Beim signaturfeldbasierten Ablaufszenario muss sich die integrierende Anwendung keinerlei Daten zum Signaturprozess merken.
- Signaturverlaufsprotokolle: Bei der Erstellung von Signaturverlaufsprotokollen, ist beim dokumentbasierten Ablaufszenario einem Dokument nur ein Protokoll zugeordnet, wohingegen beim signaturfeldbasierten Szenario einem Dokument mehrere Protokolle zugeordnet werden müssen.
Außerdem kann festgelegt werden welche Angaben der Unterzeichner machen bzw. welche Daten er verifizieren muss.
2.2. Signatur-Session
Eine Signatur-Session bezeichnet den Vorgang des Unterschreibens von einem Signaturfeld im Dokument. Signatur-Sessions werden durch die integrierende Anwendung von CIB doXisign für einen Signaturprozess erzeugt. Das aufrufende System kann beim Erstellen der Session Daten zum Benutzer mitliefern. Diese dienen im Wesentlichen dazu die Unterschrift des Benutzers zu speichern und doppelte Authentifizierung zu Vermeiden.
2.3. Signatur-Token
Dieses Token wird zusätzlich mit der Unterschrift, dem Zeitstempel und dem hinterlegten Zertifikat in das Dokument sichtbar eingemischt.
Hintergrund: Die meisten Dokumente sind nur dann erreichbar, wenn man sich in einem führenden System authentifiziert. Um das Dokument unterzeichnen zu können, sind dann ein Benutzerkonto und ein erfolgreiches Einloggen vorausgesetzt. Beim Starten der Signatur-Session kann nun optional die technische ID des verwendeten Accounts mitgegeben werden. Diese wird sichtbar in das Dokument eingemischt und bietet einen weiteren Hinweis auf den tatsächlichen Unterzeichner. Dieser Token kann von einem Benutzer mit seinem Namen überschrieben werden.
3. Serverseitige REST-Schnittstelle
Dieser Bereich beschreibt die Schnittstellen von doXisign und dessen angebotene Optionen. Sollten Sie doXisign über ein anderes Produkt der CIB Unternehmensgruppe einbinden, in der Regel CIB. doXiview, ist dieser Bereich für Sie weniger relevant. In dem Fall können Sie hier die verfügbaren Optionen und Erklärungen einsehen, für die technische Ansteuerung der Schnittstelle prüfen Sie bitte die Dokumentation des Produktes welches Sie einbinden.
3.1. Signaturprozess starten
Post |
<baseUrl>/rest/process/create |
File |
Das PDF welches Unterschrieben werden soll. Es muss mindestens ein Signaturfeld besitzen und mehrere Signaturfelder dürfen nicht die gleiche ID haben. |
sealDocument |
Legt fest ob das Dokument nach der Unterschrift versiegelt werden soll, dadurch können keine Änderungen mehr gemacht werden (z. B. Formularfelder ausfüllen). Aktuell sind die Werte „FirstSignature“ und „NoSeal“ (default) erlaubt. |
requireName |
Legt fest ob der Unterzeichner seinen Namen eingeben muss (dieser wird nicht verifiziert) |
requireMail |
Legt fest ob der Unterzeichner seine E-Mail-Adresse angeben muss. Diese wird dann Verifiziert indem eine E-Mail mit einem verifikationslink an die Angegebene Adresse gesendet wird. |
requireSms |
Legt fest ob der Unterzeichner seine Handynummer angeben muss. Diese wird dann Verifiziert indem eine SMS mit einem Code an die angegebene Nummer gesendet wird. Dieser Code muss in einem Folgeschritt eingegeben werden. |
return |
JSON mit der generierten Prozess-ID welche für alle anderen aufrufe benötigt wird. |
Es kann keine Unterschrift geleistet werden solange die benötigten Angaben (requireName, requireMail, requireSms) nicht gemacht und Verifiziert wurden. Diese Voraussetzung gilt für alle Unterschriften auf diesem Dokument.
Sollten diese optionalen Angaben fehlen werden die Standardeinstellungen (siehe Konfiguration) benutzt.
3.2. Signatur-Session starten
Innerhalb des erzeugten Prozesses kann für jedes Signaturfeld eine Signatur-Session zum Unterschreiben gestartet werden.
Post |
<baseUrl>/rest/ process/{processId}/prepare |
Signaturfeld-Name |
Der Name des zu unterschreibenden Signaturfeldes. |
Signatur-Token (optional) |
Ein maximal 32 Zeichen langes Text-Token, welches an CIB doXisign zum Einmischen einer Unterschrift mitgegeben wird und zusätzlich zu dem Bild der Signatur im Dokument erscheinen wird. Falls ein userName vorhanden ist wird dieser verwendet. |
userId (optional) |
Der Eindeutige Identifier des Unterzeichners sofern dieser bekannt ist. Wenn die userId gesetzt wurde wird auch die Unterschrift zusammen mit weiteren Daten (z. B. Authentifizierungsdaten) gespeichert und kann wiederverwendet werden. |
skipDialog (optional) |
Boolischer Wert der angibt ob das Unterschriftfenster übersprungen werden soll. Funktioniert nur mit einer userId. Sollte der Benutzer noch keine Unterschrift gespeichert haben oder benötigte Authentifizierungen fehlen wird das Unterschriftenfenster trotzdem angezeigt. |
userName (optional) |
Der Name des Unterzeichners (siehe Signatur Token). Kann nur in Verbindung mit der userId verwendet werden. |
userMail (optional) |
Die Authentifizierte E-Mail-Adresse des Unterzeichners, kann nur in Verbindung mit der userId verwendet werden. |
userMailAuthenticatedBy (optional) |
Von welchem Service die E-Mail-Adresse (siehe userMail) verifiziert wurde. |
userPhone (optional) |
Die Authentifizierte Handynummer des Unterzeichners, kann nur in Verbindung mit der userId verwendet werden. |
userPhoneAuthenticatedBy (optional) |
Von welchem Service die Handynummer (siehe userPhone) verifiziert wurde. |
certificate (optional) |
Ein persönliches Zertifikat des Unterzeichners das mit der Unterschrift verknüpft werden soll. Aktuell werden nur PKCS #12 Zertifikate (.p12 / .pfx) unterstützt. Kann nur in Verbindung mit der userId verwendet werden. |
certPassword (optional) |
Das Passwort für das Zertifikat (siehe certificate). |
return |
JSON mit der URL zum Unterschriftenfenster. Dies URL sollte i. d. R. per IFrame eingebunden werden. |
3.3. Dokument Abholen
Die Kommunikation nach dem Unterschreiben des Dokumentes geschieht am Client über JavaScript-Callbacks. Dort wird der Integrator darüber informiert, dass eine neue Unterschrift geleistet wurde. Zusätzlich bekommt er die Information, ob das Dokument bereits vollständig signiert ist.
Wenn das Dokument noch nicht vollständig signiert ist und der Prozess dokumentbasiert ist, sollte die Download-Schnittstelle aufgerufen werden, um das Dokument als Zwischenstand abzuholen.
GET |
<baseUrl>/rest/process/{processId}/document |
return |
Das aktuelle Dokument das unter dieser Prozess ID Abgelegt ist mit allen Unterschriften die bis jetzt geleistet wurden. |
3.4. Prozess beenden
Soll der Prozess beendet werden bevor alle Signaturfelder unterschrieben wurden, z. B. Fristablauf, kann diese Schnittstelle aufgerufen werden. Sobald der Prozess beendet wurde kann keine Unterschrift mehr geleistet werden,
GET |
<baseUrl>/rest/process/{processId}/finish |
return |
Das aktuelle Dokument das unter dieser Prozess ID Abgelegt ist mit allen Unterschriften die geleistet wurden. |
3.5. Audit trail
Um sich ein Verlaufsprotokoll zu dem Prozess (Audit Trail) abzuholen, nutzen Sie bitte folgende REST-Schnittstelle:
GET |
<baseUrl>/rest/process/{processId}/audit |
return |
Den aktuellen Audittrail (Verlaufsprotokoll) als Dokument. |
3.6. Audit Trail Daten
Alle gesammelten Daten können auch in einer JSON-basierten Datenstruktur abgeholt werden. In diesem Fall nutzen Sie bitte den folgenden Aufruf:
GET |
<baseUrl>/rest/process/{processId}/audit-data |
return |
Liefert alle gespeicherten Daten des Audit-Trails im JSON Format. |
4. Datenbank
Aktuell werden nur PostgreSQL Datenbanken unterstützt. Sollte eine andere Datenbank unterstützt werden wenden Sie sich an einen Mitarbeiter des CIB Vertriebs.
Folgende Tabellen werden aktuell für CIB doXisign benötigt, diese werden beim Starten des Servers automatisch erstellt. Sollten Sie aber eine neue Version aufspielen prüfen Sie bitte ob die Datenbank geändert wurde, diese Änderungen müssen ggf. manuell durchgeführt werden. Sollten Sie sich unsicher sein oder Fragen hierbei haben unterstützen wir Sie gerne.
4.1. Tabelle: doxisignprocess
Hier werden alle Informationen über den Prozess gespeichert.
doxisignprocess |
||
Spalten Name |
Datentyp |
Bedeutung |
id |
varchar(255) |
Dieses Feld ist der Primary Key der Tabelle. Es ist gleichzeitig die Prozess ID mit der z. B. das Dokument heruntergeladen werden kann. |
finished |
boolean |
Gibt an ob der Prozess beendet ist, dann können auch keine Änderungen mehr gemacht werden. |
requiremail |
boolean |
Legt fest ob der Unterzeichner eine E-Mail Adresse angeben und diese verifizieren muss. |
requirename |
boolean |
Legt fest ob der Unterzeichner seinen Namen angeben muss. |
requiresms |
boolean |
Legt fest ob der Unterzeichner eine Handynummer angeben und diese verifizieren muss. |
sealdocumentstrategy |
varchar(50) |
Legt fest ob und wie das Dokument versiegelt werden soll. |
document |
bytea |
Das zum Prozess gehörende Dokument. |
created |
timestamp without time zone |
Dieses Feld muss mit „default now()“ gesetzt sein. Dies wird für den Cleanup Service verwendet. |
4.2. Tabelle: doxisignaudittraildata
Hier werden alle Daten für den Audit Trail gespeichert.
doxisignaudittraildata |
||
Spalten Name |
Datentyp |
Bedeutung |
id |
serial |
Dieses Feld ist der automatisch generierte Primary Key der Tabelle. |
processid |
varchar(255) |
Die Prozess ID zu dem dieser Eintrag gehört. |
action |
varchar(100) |
Zeigt an welche Aktion durchgeführt wurde. |
created |
timestamp without time zone |
Dieses Datum wird von doXisign gesetzt. Dies entspricht der Anzeige in der Unterschrift. |
ipadresscaller |
varchar(50) |
Die IP-Adresse des Aufrufers der diese Aktion ausgelöst hat. |
dbentrycreated |
timestamp without time zone |
Dieses Feld muss mit „default now()“ gesetzt sein. Dieses Feld hat keine nähere Bedeutung und wird nur dient nur der zusätzlichen Sicherheit. |
additionaldata |
text |
Alle Daten die für nicht für jede Aktion vorhanden sind können hier angegeben werden. Diese werden im JSON Format als Key-Value paare gespeichert. |
4.3. Tabelle: doxisignaudittrail
Hier wird der Finale Audit Trail gespeichert. Dieser wird einmalig generiert beim Beenden des Prozesses.
doxisignaudittrail |
||
Spalten Name |
Datentyp |
Bedeutung |
id |
varchar(255) |
Dieses Feld ist der Primary Key der Tabelle. Hierbei handelt es sich um die Prozess ID |
audittrail |
bytea |
Der Audit Trail im PDF Format. |
4.4. Tabelle: doxisignsignatures
Hier werden alle Daten des Unterzeichners gespeichert.
doxisignsignatures |
||
Spalten Name |
Datentyp |
Bedeutung |
userid |
varchar(100) |
Dieses Feld ist der Primary Key der Tabelle. Es ist die Benutzer ID welche vom führenden System übergeben wurde. |
dbentrycreated |
timestamp without time zone |
Dieses Feld muss mit „default now()“ gesetzt sein. |
signature |
bytea |
Die Signatur des Unterzeichners. |
certificate |
bytea |
Das Persönliche Zertifikat des Benutzers. |
certificatepassword |
varchar(255) |
Das verschlüsselte Passwort für das Zertifikat. |
name |
varchar(100) |
Der Name des Unterzeichners. |
confirmed_mail |
varchar(255) |
Die verifizierte E-Mail Adresse des Unterzeichners. |
confirmed_mail_by |
varchar(50) |
Von wem die E-Mail Adresse verifiziert wurde. |
confirmed_phone |
varchar(50) |
Die verifizierte Handynummer des Unterzeichners |
confirmed_phone_by |
varchar(50) |
Von wem die Handynummer verifiziert wurde. |
generated_cert |
boolean |
Gibt an ob das hinterlegte Zertifikat von doXisign generiert wurde (true) oder ob es vom Benutzer hochgeladen wurde (false) |
5. Konfiguration
Der Konfigurationsmechanismus von CIB doXisign beruht auf bis zu drei Konfigurationsdateien:
Konfigurationsdatei |
Beschreibung |
application.properties |
Diese Konfigurationsdatei befindet sich innerhalb des .war Archivs (WEB-INF/classes) und definiert alle möglichen Konfigurationseinstellungen und dessen Default-Werte. Änderungen sind in dieser Datei grundsätzlich nicht vorzunehmen! |
environment-config.properties |
Diese Konfigurationsdatei befindet sich ebenfalls innerhalb des .war Archivs (WEB-INF/classes). Abweichungen von den Standardeinstellungen können hier eingetragen werden. |
doxisign.properties
|
Diese Konfigurationsdatei dient ebenfalls zum Überschreiben der Standardeinstellungen. Darüber hinaus sollte diese Datei außerhalb des .war Archivs platziert werden. |
5.1. Benötigte Konfigurationen
Tragen Sie bitte die folgenden Konfigurationseinstellungen vor dem ersten Deployment in der Datei environment-config.properties innerhalb des WAR Archivs ein. Später können Sie diese Datei externalisieren.
Konfigurationseinstellung |
Beschreibung |
doxisign.url |
Die URL ist aus Sicht des CIB doXisign Clients anzugeben. Sie wird also von Client Rechnern gerufen werden. |
doxisign.workspace |
Aktuell verfügbare Optionen sind „file“ oder „POSTGRESQL“. Entsprechend dieser Angabe müssen auch Angaben zur Datenbankverbindung oder zum Filesystem gemacht werden. |
doxisign.fs.root |
Wenn sie für „doxisign.workspace=file“ festgelegt haben sollten Sie unbedingt einen persistenten Ort für den Workspace konfigurieren. (Default ist das temporäre Verzeichnis für Java-Applikationen). |
doxisign.db.url |
Die URL unter der die Datenbank aus Sicht des Servers erreicht werden kann. |
doxisign.db.user |
Der Benutzer mit dem doXisign auf die Datenbank zugreifen soll. |
doxisign.db.password |
Das entsprechende Passwort für den Benutzer. |
5.2. Optionale Konfigurationen
Diese Angaben sind Optional zu machen wenn Sie Abweichungen gegenüber den Defaults haben wollen.
Konfigurationseinstellung |
Beschreibung |
document.server.host (optional) |
Wenn zusätzlich ein Signaturverlaufsprotokoll erstellt werden soll und Sie einen CIB documentServer betreiben, kann dieser ebenfalls hinterlegt werden. |
document.server.port (optional) |
|
doxisign.audittrail |
Um das Signaturverlaufsprotokoll zu aktiveren muss dieser Schalter auf „true“ gesetzt werden und zusätzlich ein Document Server (siehe oben) eingerichtet sein. |
doxisign.date.format |
Legt das Datumsformat fest wie es in der Unterschrift und im Audit Trail angezeigt wird. (Default: dd.MM.yyyy HH:mm:ss) |
doxisign.cleanup.age |
Legt die Zeitdauer fest nachdem offene Prozesse gelöscht werden (Zeitpunkt ab Erstellung). (Default: 30d) |
ntp.url |
Gibt die NTP-Server URL an von wo der Zeitstempel geladen werden soll. |
tsa.url |
Gibt die URL eines TSA Servers an. Wenn diese URL angegeben ist muss auch ein User mit Passwort hinterlegt werden. Die Unterschrift wird dann von der TSA verifiziert. |
tsa.user |
Benutzerdaten für den Angegebenen TSA Server. |
tsa.password |
|
auth.requirements.name |
Standardeinstellung ob der Unterzeichner seinen Namen eingeben muss. (Default: false) |
auth.requirements.mail |
Standardeinstellung ob der Unterzeichner seine E-Mail-Adresse eingeben und verifizieren muss. (Default: false) |
auth.requirements.sms |
Standardeinstellung ob der Unterzeichner seine Handynummer eingeben und verifizieren muss. (Default: false) |
signpad.toolbar.draw.show |
Dieses Setting legt fest ob die Option „Zeichnen“ in der Toolbar angezeigt werden soll. |
signpad.toolbar.draw. |
Mit dieser Option kann das Zeichnen der Unterschrift mit der Maus unterbunden werden. Dafür diesen Schalter auf „true“ setzen. |
signpad.toolbar.keyboard. |
Dieses Setting legt fest ob die Option „Tastatur eingabe“ in der Toolbar angezeigt werden soll. |
signpad.toolbar.upload. |
Dieses Setting legt fest ob die Option „Unterschrift hochladen“ in der Toolbar angezeigt werden soll. |
signpad.toolbar.qr.show |
Dieses Setting legt fest ob die Option „QR Code“ in der Toolbar angezeigt werden soll. |
mail.server |
Die URL für einen E-Mail Server. Falls eine E-Mail Authentifizierung gewünscht ist muss auch ein E-Mail Server konfiguriert werden. |
mail.sender.address |
Gibt an welcher Absender für die Verifizierung E-Mail verwendet wird. |
mail.sender.name |
Gibt an welcher Name für die Verifizierung E-Mail verwendet wird. |
mail.subject |
Der Betreff der bei der Verifizierung -E-Mail verwendet wird |
sms.text |
Der Text der für die Handynummer Verifizierung versendet wird. Es muss „%s“ in dem Text Vorkommen an dem der Verifikationscode eingefügt wird. |
sms.massenversand.authtoken |
Um über Massenversand eine SMS versenden zu können muss ein Api-Authtoken angegeben werden. |
sms.massenversand.testmode |
Um Kosten zu senken kann man für Massenversand einen Testmodus aktivieren. Es wird keine SMS versendet, die übergebene Nummer aber trotzdem validiert. Für den SMS Code kann man einen beliebigen Code eingeben. Der default Wert ist „false“, für den Live-Betrieb muss dieser Wert also geändert werden. |
doxisign.frame.color |
Legt die Farbe des Rahmens der Signatur fest. Datum und Signature Token werden ebenfalls in dieser Farbe angezeigt. Die Farbe ist in Hexadezimal anzugeben (z. B. #ffffff). Der Default wert ist #961e29 |
Nachdem CIB doXisign auf Ihrem System läuft, schenken sie bitte zwecks Konfiguration auch den Kapiteln (Zertifikate und Zeitstempel) noch einmal ihre Aufmerksamkeit.
5.3. Externalisierung der Konfiguration
Um das Deployment von Software Updates zu erleichtern, ist es möglich, eine externe Konfigurations-Datei einzubinden. Dort können Konfigurationen außerhalb des .war Archivs verwaltet werden.
Folgende Dinge müssen bei der Externalisierung der Konfiguration beachtet werden:
- Der Name der externen Konfigurations-Datei ist doxisign.properties.
- Die Datei doxisign.properties muss sich im Classpath des JEE Servlet-Container befinden. Um beispielsweise den Classpath des Apache Tomcat so zu erweitern, dass auch Verzeichnisse außerhalb des .war Archivs berücksichtigt werden, muss die Datei catalina.properties im Tomcat conf-Verzeichnis angepasst werden, indem man das gewünschte Verzeichnis der Property shared.loader hinzufügt.
6. Clientseitige JavaScript Integration
Dieses Kapitel ist vor allem dann relevant, wenn CIB doXisign direkt und nicht z.B. über CIB doXiview integriert werden soll. Wird eine Integration über CIB doXiview genutzt, sei hier auf die Schnellstart-Dokumentation von CIB doXiview verwiesen.
Clientseitig wird CIB doXisign in einem IFrame integriert. Die Aufruf-URL ist das Ergebnis des REST Aufrufs „prepare“.
Damit eine Integration über IFrame-Grenzen hinweg möglich ist, wird das Postmessage Framework CIB iwc (CIB inter window communication) genutzt. Dieses muss der Aufrufer bei sich integrieren und beim Öffnen der URL nutzen.
Die folgenden Abhängigkeiten müssen vom Integrator (der einbettenden Seite von CIB doXisign) geladen werden:
<script type="text/javascript" src="./js/cib.iwc.1.0.0.min.js"></script> <script type="text/javascript" src="./js/iwc-interfaces-min.js"></script>
Anschließend kann CIB doXisign wie folgt geöffnet werden:
// url taken from response of REST call prepare function openDoxisign(url) { // initialize IWC framework var master = {}; master.iwc = new window.CibGetMasterController().createMaster(); master.signPad = new window.CibSignPadMasterFunctions(master.iwc); master.signPad.registerOnFinishSignProcessCallback(function(params) { console.log(">>> " + params.referenceId); // will be called after successful signing }); master.signPad.registerOnCancelSignProcessCallback(function(params) { // will be called after canceled signing }); // open doxisign which will trigger the start parameter callback master.iwc.openURLInFrame("#doxisign-frame", url); }
Sobald ein Signaturvorgang erfolgreich abgeschlossen wurde, wird der Integrator über den folgenden Callback darüber informiert:
master.signPad.registerOnFinishSignProcessCallback(function(params) { console.log(">>> " + params.referenceId); // will be called after successful signing });
Über die Refrenz-ID des Prozesses können nun weitere Aktivitäten ausgeführt werden. Dafür sei auf die Schnittstellen-Beschreibung der REST-Services in diesem Dokument verwiesen.
Wenn ein Signaturvorgang abgebrochen wurde, wird der Integrator über folgenden Callback informiert:
master.signPad.registerOnCancelSignProcessCallback(function(params) { // will be called after canceled signing });
7. Zertifikate
Am Server kann ein Default Zertifikat konfiguriert werden (siehe Konfiguration). Dieses wird normalerweise bei jeder Unterschrift benutzt. Jeder Benutzer hat manuell die Möglichkeit ein persönliches Zertifikat hoch zu laden.
Zusätzlich kann beim Starten einer Signatur-Session ein Zertifikat mitgegeben werden (siehe REST Schnittstellen). Dies ist vor allem Sinnvoll wenn der Unterzeichner in einem angemeldeten System ein Zertifikat besitzt.
Per Default ist ein CIB eigenes Zertifikat hinterlegt. Dieses Zertifikat dient lediglich für erste Integrationstests und sollte nicht in Produktion verwendet werden.
8. Zeitstempel
In CIB doXisign gibt es zwei Arten Zeitdienste zu integrieren.
8.1. NTP ZeitServer
Das Network Time Protocol ist ein Standard zur Synchronisierung von Uhren in Computersystemen. Es ist möglich einen NTP Zeitserver in CIB doXisign zu konfigurieren. Wenn dies der Fall ist, wird nicht die lokale Systemzeit zur Bestimmung des Signierzeitpunktes herangezogen, sondern die abgeglichene Zeit mit dem NTP Zeitserver.
Die URL kann in der Datei environment-config.properties oder in der Datei doxisign.properties wie folgt hinterlegt werden:
Konfigurationseinstellung |
Beschreibung |
ntp.url |
URL zu einem NTP Server. |
Die Zeitserver der PTB (Physikalisch-Technischen Bundesanstalt) in Braunschweig sind beispielsweise für jedermann zu benutzen und kann unter folgender Adresse abgefragt werden:
ptbtime1.ptb.de
Quelle: https://www.zeitserver.de/deutschland/ptb-zeitserver-in-braunschweig/
8.2. Time Stamp Authority (TSA)
Vertrauenswürdiges Zeitstempeln ist ein Prozess, bei dem die Erstellungs- und Änderungszeiten eines Dokuments sicher verfolgt werden können. Dieser setzt eine sogenannte Time Stamp Authority (TSA) voraus, der das Signieren mit einem aktuellen Zeitstempel übernimmt.
Mehrere Anbieter stellen diesen Service als Software as a Service (SaaS) zur Verfügung und dieser kann in CIB doXisign konfiguriert werden.
Es werden lediglich die Hashwerte der digitalen Signaturen an diesen Dienst übermittelt und keine Dokumente.