--- title: "plenigo-Signatur" slug: "plenigo-signatur-2" updated: 2025-07-10T10:14:57Z published: 2025-07-10T10:14:57Z canonical: "help.frisbii.com/plenigo-signatur-2" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.frisbii.com/llms.txt > Use this file to discover all available pages before exploring further. # plenigo-Signatur ## Vorbemerkungen Jeder Callback aus dem plenigo System ist mit einer Signatur versehen, die im Header zu finden ist, um sicherzustellen, dass der Aufruf von einer vertrauenswürdigen Quelle stammt und nicht manipuliert wurde. --- ## plenigo-Signatur prüfen Jeder Callback wird über einen Signatur-Header signiert. Der Header heißt plenigo-signature und sieht wie folgt aus: `t=1729583536,s=fdcd0a0ccd0b4db629d35a33c3aada5cf669a28f91adb38abcc9ffcdb1663d38` Der Header enthält zwei Elemente. Einen Zeitstempel, der den Zeitpunkt angibt, zu dem der Callback erzeugt wurde (t), und einen hashbasierten Nachrichtenauthentifizierungscode ([HMAC](https://en.wikipedia.org/wiki/HMAC)) mit [SHA-256](https://en.wikipedia.org/wiki/SHA-2) (s). Zusammenfassung: ```plaintext plenigo-signature: t=,s= ``` - **t** = Unix-Zeitstempel (Sekunden seit dem 01.01.1970) - **s** = HMAC-SHA256-Signatur (hexadezimal codiert) ### So wird die Signatur erstellt **Frisbii Media** berechnet die Signatur in folgenden Schritten: 1. Aktuellen Zeitstempel als Zeichenkette holen 2. Zeitstempel und Rohdaten des Bodys mit einem Punkt (`.`) 3. HMAC mit SHA256 erzeugen, unter Verwendung des Callback-Secrets von **Frisbii Media** 4. Header setzen: ```plaintext plenigo-signature: t=zeitstempel,s=signatur ``` Um bei versionierungsspezifischer Logik zu helfen, enthält jede Callback-Anfrage auch den HTTP-Header: ```plaintext X-Plenigo-Api-Version ``` ### Header verifizieren **Schritt 1: Zeitstempel und Signaturen aus dem Header extrahieren** Der Inhalt des Headers kann mit dem Zeichen "," (Komma) getrennt werden, um eine Liste von Elementen zu erhalten. Durch das Zeichen "=" (Gleichheitszeichen) als Trennzeichen kann jedes Element in ein Datenpaar aus einem Präfix und einem Wert unterteilt werden. Werte der Präfixe: - "t" = Zeitstempel - "s" = eine Signatur oder mehrere Signaturen Eventuelle weitere Elemente können ignoriert werden. **Schritt 2: Zeichenkette "signed_payload" vorbereiten** Die Zeichenfolge "signed_payload" wird durch eine Verkettung erstellt: - der Zeitstempel als String - das Zeichen "." (Punkt) - der tatsächliche JSON-Payload (d. h. der Inhalt der Anfrage) als String **Schritt 3: Erwartete Signatur bestimmen** Es wird ein HMAC Authentifizierungscode mit einer SHA256-Hash-Funktion benötigt. Das Signiergeheimnis des Endpunkts wird als Schlüssel und die Zeichenkette "signed_payload" als Nachricht verwendet. **Schritt 4: Signaturen vergleichen** Die Signatur (oder Signaturen) in der Kopfzeile sollte mit der erwarteten Signatur verglichen werden. Für den Vergleich sollte die Differenz zwischen dem aktuellen Zeitstempel und dem empfangenen Zeitstempel errechnet werden, um dann zu entscheiden, ob die Differenz innerhalb einer akzeptablen Toleranz liegt. > [!NOTE] > Hinweis: Wenn der Zeitstempel weit in der Vergangenheit liegt, empfehlen wir, diesen Callback nicht mehr zur Datenverarbeitung zu verwenden, da dies - gerade bei Kundendaten - zu Dateninkonsistenz führen kann. Hier ist ein Beispiel für die Verarbeitung des empfangenen Callbacks: ![](https://cdn.document360.io/b84e1b5d-2ba6-4465-8c62-fb45a2f31314/Images/Documentation/2b80f94a-c666-4812-aec5-90b21e3ca688?sv=2026-02-06&spr=https&st=2026-11-10T07%3A32%3A31Z&se=2026-11-10T08%3A32%3A31Z&sr=c&sp=r&sig=TJ0%2BkveKCbeYJPp4ORGkre3NcJT%2FX5THBKmfj78zQ0Y%3D) ###