eStamp: Aufbau, Nutzung und Authentifizierung für PDF-Signaturen
Inhalt
eStamp ist ein Service von XiTrust zum automatischen Signieren und Siegeln von Dokumenten über eine REST-API oder einen Webclient. Dieses Dokument beschreibt Grundkonzepte, Deployment-Varianten, Authentifizierungsmethoden und einen Quickstart für neue Integrations-Teams.
Was ist eStamp?
eStamp ist ein Dienst, der PDF-Dokumente (und XML-Dateien) automatisiert signiert oder versiegelt. Der Ablauf ist dabei immer gleich:
Das aufrufende System sendet ein Dokument an die eStamp REST-API.
eStamp signiert oder versiegelt das Dokument mit dem konfigurierten Zertifikat.
Das signierte Dokument wird direkt als Antwort zurückgegeben.
eStamp ist für Organisationen konzipiert, die viele Dokumente automatisiert und rechtskonform signieren müssen – ohne manuelle Eingriffe. Typische Anwendungsbereiche sind Behörden (Bescheide, Amtssignaturen), Versicherungen (Polizzen, Bestätigungen) und Finanzdienstleister (automatisch generierte Vertragsdokumente).
Deployment-Varianten von eStamp
eStamp kann auf zwei Arten betrieben werden. Die Wahl der Variante beeinflusst, wer für Betrieb und Updates zuständig ist.
Cloud-Variante (empfohlen): eStamp wird durch XiTrust als Teil der MOXIS-Plattform gehostet. Das Deployment wird durch das XiTrust Support Team durchgeführt. Es wird kein eigener Server benötigt.
On-Premises: eStamp wird in der eigenen IT-Infrastruktur des Kunden installiert und betrieben. Installation und laufender Betrieb liegen beim Kunden-Team.
In beiden Varianten gilt: Jede eStamp-Instanz erhält eine eigene, kundenspezifische Base URL (z. B. https://estamp.kunde.xitrust.cloud/estamp). Diese URL wird beim Deployment festgelegt und ist Voraussetzung für jeden API-Aufruf.
[!NOTE] eStamp kennt kein Mandantenmodell. Unterschiedliche Konfigurationen (z. B. verschiedene Zertifikate oder Signaturtypen) werden über Signaturhandler innerhalb einer Instanz abgebildet. Für eine vollständige technische Trennung zwischen Organisationseinheiten wird eine separate eStamp-Instanz empfohlen.
eStamp Base URL
Die eStamp Base URL ist die kundenspezifische Webadresse, über die eine eStamp-Instanz erreichbar ist. Alle API-Aufrufe verwenden diese URL als Basis.
Format:
https://estamp.<kundenname>.xitrust.cloud/estamp
Beispiel:
https://estamp.acc.xitrust.cloud/estamp
Die Base URL wird beim Deployment festgelegt und vom XiTrust Support Team kommuniziert. Ohne korrekte Base URL schlagen alle API-Aufrufe mit einem 404 Not Found-Fehler fehl.
[!WARNING] Die eStamp Base URL ist kundenspezifisch und individuell. Eine falsche oder allgemeine URL führt zu
404-Fehlern. Wenn ein eStamp-Service nicht erreichbar ist, ist die Base URL der erste zu prüfende Punkt.
Authentifizierung und Zugriffsschutz
Die eStamp REST-API ist an sich abgesichtert. Bitte beachten Sie: ab Version 4.54 wird der licenceInfos GET Call ohne Authentifizierung ausgeführt.
Ohne gültige Authentifizierung werden jedoch keine API-Aufrufe akzeptiert – weder Signieroperationen noch Session-Management.
eStamp unterstützt zwei Authentifizierungsmethoden:
OAuth 2.0 (empfohlen): Moderne, token-basierte Authentifizierung mit dem Grant Type „Client Credentials". Eine Maschine bzw. ein System authentifiziert sich – kein menschlicher Benutzer. OAuth 2.0 ist die empfohlene Methode für alle neuen Integrationen.
Basic Authorization: Klassische Authentifizierung mit Benutzername und Passwort als HTTP-Header. Weniger empfohlen als OAuth 2.0.
[!NOTE] eStamp verwendet keine RBAC, keine User-Rollen und keine unterschiedlichen Berechtigungsstufen. Jeder gültig authentifizierte Client kann alle geschützten Endpoints verwenden. Die einzige Ausnahme sind Lizenzinformations-Endpoints, die ungeschützt erreichbar sind.
OAuth 2.0 in eStamp: Konfiguration und Ablauf
eStamp verwendet OAuth 2.0 mit dem Grant Type „Client Credentials". Dieser Ablauf ist speziell für Maschine-zu-Maschine-Kommunikation ausgelegt.
Benötigte OAuth-2.0-Konfigurationswerte
Folgende fünf Werte sind für die OAuth-2.0-Authentifizierung gegen eStamp verpflichtend. Alle werden beim Deployment vom XiTrust Support Team festgelegt und kommuniziert:
Wert | Beschreibung |
|---|---|
| Der „Benutzername" der Anwendung beim Authentifizierungsserver |
| Das „Passwort" der Anwendung – nur Anwendung und Auth-Server kennen diesen Wert |
| Die „Heimatadresse" des Identity Providers (z. B. Keycloak), identifiziert den Token-Aussteller |
| Die konkrete URL des Authentifizierungsservers, an die Token-Anfragen gesendet werden |
| Immer |
Schritt 1: Bearer Token anfordern
bash
# eStamp OAuth 2.0: Bearer Token anfordern
# Endpoint: POST /token am konfigurierten Auth-Server
# Grant Type: client_credentials (Maschine-zu-Maschine)
curl -X POST "https://<auth-server-url>/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<client_id>" \
-d "client_secret=<client_secret>"
Erfolgreiche Antwort (200 OK):
json
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5...",
"token_type": "Bearer",
"expires_in": 3600
}
Schritt 2: Bearer Token bei jedem API-Aufruf verwenden
Der Bearer Token wird bei jedem eStamp-API-Aufruf im Authorization-Header mitgesendet:
Authorization: Bearer <access_token>
[!WARNING] Der eStamp Bearer Token hat eine begrenzte Gültigkeitsdauer (
expires_in). Nach Ablauf liefert die eStamp API den Fehler451 Unavailable for Legal Reasons(JWT token is expired). Implementieren Sie in Ihrer Integration eine automatische Token-Erneuerung vor Ablauf der Gültigkeitsdauer.
[!IMPORTANT] Bearer Tokens sind wie Passwörter zu behandeln. Zugangsdaten (
client_id,client_secret, Bearer Token) dürfen niemals im Quellcode, in Klartext-Konfigurationsdateien oder in Versionskontrollsystemen gespeichert werden. Empfohlene Ablage: Secret Manager (z. B. HashiCorp Vault, Keycloak, AWS Secrets Manager).
eStamp API testen mit Swagger
Swagger ist die interaktive API-Dokumentationsplattform, die auf Basis der OpenAPI-Spezifikation von eStamp automatisch generiert wird. Swagger ermöglicht das direkte Testen aller eStamp-Endpunkte im Browser, ohne eigenen Code schreiben zu müssen.
Swagger-URL: Swagger ist über die jeweilige eStamp-Instanz erreichbar. Die genaue URL wird beim Deployment vom XiTrust Support Team kommuniziert.
Swagger mit OAuth 2.0 verwenden
Öffnen Sie die Swagger-UI der eStamp-Instanz im Browser.
Klicken Sie auf den [Authorize]-Button oben rechts.
Geben Sie
client_idundclient_secretein. Swagger fordert automatisch einen Bearer Token an und setzt ihn für alle nachfolgenden Test-Requests.Führen Sie beliebige eStamp-Endpunkte direkt im Browser aus.
[!NOTE] Swagger eignet sich für initiale Tests und Exploration der eStamp REST-API. Für Produktions-Integrationen wird die direkte API-Nutzung über HTTP-Clients (curl, Postman, programmatische Clients) empfohlen.
Quickstart: Erstes PDF mit eStamp versiegeln
Dieser Quickstart zeigt den minimalen Ablauf, um ein PDF über die eStamp REST-API zu versiegeln. Voraussetzungen: gültige eStamp Base URL und gültige OAuth-2.0-Zugangsdaten.
Schritt 1: Verfügbare Signaturhandler abfragen
Vor dem ersten Versiegelungsaufruf müssen die verfügbaren parameterId-Werte der eStamp-Instanz abgefragt werden. Die parameterId ist ein Pflichtfeld bei jedem Seal-Aufruf und steuert, welcher Signaturhandler und welches Zertifikat verwendet wird.
bash
# eStamp: Verfügbare Signaturhandler abfragen
# Endpoint: GET /signApi/parameterInfos
# Authentifizierung: Bearer Token erforderlich
curl -X GET "https://estamp.acc.xitrust.cloud/estamp/signApi/parameterInfos" \
-H "Authorization: Bearer <token>"
Erfolgreiche Antwort (200 OK):
json
[
{
"parameterId": "amtssignatur",
"displayName": "Amtssignatur",
"maxNumberOfDocuments": 100,
"signatureHandlerType": "SOFTWARE_KEY"
}
]
Wenn dieser Aufruf erfolgreich ist, sind Base URL, Authentifizierung und Erreichbarkeit des eStamp-Services korrekt.
Typischer Fehler bei diesem Schritt:
404 Not Found – "Cannot find handler for parameter"
Ursachen: falsche Base URL, falscher Pfad, falsche Bezeichnung der Handler-ID. Prüfen Sie Base URL, Token und Endpoint-Pfad exakt auf Schreibweise und Groß-/Kleinschreibung.
Schritt 2: PDF versiegeln (synchroner Workflow)
bash
# eStamp: PDF versiegeln (synchroner Workflow ohne Visualisierung)
# Endpoint: POST /signApi/sealSingle
# Authentifizierung: Bearer Token erforderlich
# Rückgabe: signiertes PDF als Binary
curl -X POST "https://estamp.acc.xitrust.cloud/estamp/signApi/sealSingle" \
-H "Authorization: Bearer <token>" \
-H "accept: application/pdf" \
-H "Content-Type: multipart/form-data" \
-F "parameterId=amtssignatur" \
-F "documentToSign=@./eingabe.pdf;type=application/pdf" \
--output ./signiert.pdf
Ergebnis: Das signierte PDF wird als Binary zurückgegeben und unter signiert.pdf gespeichert.
[!NOTE]
documentToSignundfilesind synonyme Feldbezeichnungen und haben dieselbe Bedeutung. Beide Varianten werden von der eStamp REST-API akzeptiert. Die unterschiedlichen Namen entstanden durch historische Kundenanforderungen.
FAQ: Authentifizierung und Grundkonzepte
Welche Base URL bekommen Kunden konkret?
Jeder Kunde erhält eine eigene, kundenspezifische Base URL für seine eStamp-Instanz, zum Beispiel https://estamp.kunde.xitrust.cloud/estamp. Die Base URL wird beim Deployment vom XiTrust Support Team festgelegt und kommuniziert. Ohne korrekte Base URL sind keine eStamp-API-Aufrufe möglich.
Hat eStamp ein Mandantenmodell?
Nein, eStamp kennt kein Mandantenmodell. Unterschiedliche Konfigurationen (z. B. verschiedene Zertifikate, Signaturtypen oder Signatur-Visualisierungen) werden über Signaturhandler innerhalb einer eStamp-Instanz abgebildet. Für eine vollständige technische Trennung zwischen Organisationseinheiten wird eine separate eStamp-Instanz empfohlen.
Gibt es eine API-Versionierung?
Nein, eStamp verwendet keine URL-basierte API-Versionierung (wie /api/v1/). Stattdessen garantiert XiTrust, dass keine Breaking Changes durchgeführt werden. Bestehende Integrationen bleiben nach Updates weiterhin funktionsfähig. Die letzten 3 eStamp-Versionen werden aktiv supportet.
Gibt es Rollen oder Berechtigungsstufen?
Nein, eStamp verwendet kein RBAC (Role-Based Access Control). Es gibt keine User-Rollen oder unterschiedliche Berechtigungsstufen. Jeder gültig authentifizierte Client kann alle geschützten eStamp-Endpunkte verwenden.
Welche TLS-Version wird von eStamp erwartet?
eStamp erfordert mindestens TLS 1.2. Standard ist TLS 1.3. Ältere TLS-Versionen werden nicht akzeptiert.
Wie erreiche ich den eStamp Support?
Bei Fragen oder Problemen wenden Sie sich an das XiTrust Support Team:
Service Desk Ticket: über das XiTrust Service Desk Portal
E-Mail: servicedesk@xitrust.com
Für Supportanfragen zu API-Fehlern sind folgende Informationen hilfreich:
Timestamp der Anfrage,
verwendeter Endpoint,
sessionId(falls vorhanden) undvollständiger HTTP-Statuscode