Status und Vertrauen einer digitalen PDF-Signatur verstehen
Das Ergebnis einer PDF-Signatur kann widersprüchlich wirken: Die Signatur kann kryptografisch gültig sein, obwohl der Unterzeichner unbekannt ist, oder das Zertifikat kann abgelaufen sein, obwohl das Dokument unverändert blieb.
Im Browser ausführen – kostenlos
Diese Funktion übersetzt vier gängige Prüfmerkmale in eine verständliche Vertrauenseinschätzung, einzelne Befunde und einen praktischen nächsten Schritt. Sie prüft PDF und Zertifikat nicht erneut. Stattdessen erläutert sie die bereits von Ihrem Prüfprogramm gelieferten Nachweise, damit Sie Dokumentintegrität, Identität und zeitliche Zertifikatsgültigkeit unterscheiden können, bevor Sie sich auf die Datei verlassen.
Trennen Sie Gültigkeit und Dokumentintegrität
Das Gültigkeitsmerkmal sagt aus, ob die Signatur die kryptografische Prüfung bestanden hat, liefert allein aber kein vollständiges Urteil. Das Änderungsmerkmal beantwortet eine andere Frage: Weicht das aktuelle Dokument von dem ursprünglich signierten Zustand ab? Wird eine Änderung gemeldet, sollte das aktuelle PDF nicht als signierte Fassung gelten, selbst wenn das Signaturobjekt weiterhin mathematisch geprüft werden kann. Auch ein falsches Gültigkeitsmerkmal ist eindeutig: Die Signatur taugt nicht als Integritätsnachweis. Bei bestätigter Gültigkeit ohne Änderung sprechen die Angaben für Integrität; Identität und Zertifikatszeitraum können trotzdem weitere Prüfungen verlangen. Deshalb erhalten eine gescheiterte Kryptografie oder gemeldete Änderung Vorrang. Die Erklärung beschreibt jedes gelieferte Signal gesondert, anstatt unterschiedliche Sachverhalte in einer mehrdeutigen grünen oder roten Anzeige zusammenzufassen.
Unterscheiden Sie unbekannte Identität und beschädigte Signatur
Ein unbekannter Unterzeichner ist eine Warnung zur Identität und Vertrauenskette, nicht zwingend ein Hinweis auf Manipulation. Das Prüfprogramm kann die Kryptografie bestätigen, aber kein passendes Stamm- oder Zwischenzertifikat, keine Richtlinie oder lokale Vertrauensentscheidung besitzen. Dann kann das Dokument unverändert sein, während Person oder Organisation ungeprüft bleibt. Kontrollieren Sie die Zertifikatskette unabhängig, vergleichen Sie die Angaben mit einer vertrauenswürdigen Quelle und beziehen Sie das Dokument über einen authentisierten Kanal. Ein angezeigter Name beweist keine Identität. Umgekehrt belegt die Warnung allein keinen Angriff. Die Funktion stuft den Fall als prüfbedürftig ein, sofern kein schwererer Integritätsfehler vorliegt. Bei einem ausdrücklich falschen Merkmal hält sie nur fest, dass der Unterzeichner nicht als unbekannt gemeldet wurde; nicht gelieferte Angaben zu Zertifizierungsstelle, Sperrprüfung oder Richtlinie werden nicht erfunden.
Ordnen Sie den Ablauf zeitlich ein
Ein abgelaufenes Zertifikat erfordert Zeitnachweise. Sein heutiger Ablauf beweist nicht automatisch, dass die Signatur bei ihrer Erstellung ungültig war. Ein vertrauenswürdiger Zeitstempel kann die Signatur innerhalb des Gültigkeitszeitraums belegen; Langzeitvalidierungsdaten können Zertifikatskette und Sperrstatus erhalten. Ohne diese Belege bleibt eine wichtige Frage offen. Daher empfiehlt die Erklärung, Zeitstempel, Gültigkeitsdaten und Sperrinformationen zu prüfen, statt jedes abgelaufene Zertifikat als Betrug zu werten. Kombinationen sind entscheidend: Ablauf und unbekannter Unterzeichner erzeugen Identitäts- und Zeitfragen; bei einem geänderten Dokument überwiegt der Integritätsfehler. Nutzen Sie das Ergebnis als Orientierung zu den gelieferten Merkmalen, nicht als Ersatz für Prüfsoftware oder Rechtsberatung. Bewahren Sie bei sensiblen Verträgen oder regulierten Unterlagen Original und Prüfbericht auf und beziehen Sie die zuständige Fachstelle ein.
Anwendungsfälle
Unklare Prüfmeldung erklären
Fassen Sie mehrere technische Warnungen verständlich zusammen, ohne eine erneute PDF-Prüfung vorzutäuschen.
Signierte Dokumente vorsortieren
Erkennen Sie sofort abzulehnende Dateien und Fälle, die Identitäts- oder Zeitstempelprüfungen benötigen.
Prüfentscheidungen dokumentieren
Speichern Sie eine deterministische Erklärung neben den Rohmerkmalen für spätere Kontrollen.
Häufige Fragen
Prüft diese Funktion das PDF selbst?
Nein. Sie erklärt Merkmale eines Prüfprogramms und untersucht weder PDF noch Zertifikat, Zeitstempel oder Sperrdienst.
Kann eine Signatur bei unbekanntem Unterzeichner gültig sein?
Ja. Die Kryptografie kann stimmen, obwohl keine vertrauenswürdige Identitätskette aufgebaut werden kann.
Macht ein abgelaufenes Zertifikat die Signatur immer ungültig?
Nein. Ein verlässlicher Zeitstempel kann frühere Gültigkeit belegen, muss aber geprüft werden.
Was gilt bei Änderungen nach dem Signieren?
Vertrauen Sie dem aktuellen Dokument nicht als signiertem Zustand. Beschaffen Sie das Original und prüfen Sie erneut.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Bei gleichen Merkmalen ist das Ergebnis deterministisch.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/pdf/signature-verify-status-explain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"valid":true,"modified_since_signing":false}'const res = await fetch("https://api.kit.forhosting.com/pdf/signature-verify-status-explain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"valid": true,
"modified_since_signing": false
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/signature-verify-status-explain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"valid": true,
"modified_since_signing": false
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/signature-verify-status-explain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"valid":true,"modified_since_signing":false}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"valid":true,"modified_since_signing":false}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/signature-verify-status-explain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"valid": true,
"modified_since_signing": false
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.signature_verify_status_explain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |