SAML-Response-Decoder

Fügen Sie XML, Base64 oder URL-kodiertes Base64 ein. Das Werkzeug zeigt Aufbau und vorhandene Signaturen, prüft diese jedoch nicht kryptografisch.

Läuft lokal in deinem Browser
SAML wird nur in diesem Browser dekodiert. Entfernen Sie Produktionsnamen, E-Mails, Sitzungen und Attribute vor dem Teilen.
SAMLResponse oder Assertion-XMLBase64, URL-kodiertes Base64 oder XML
SAML-Attribute
AttributWert
Noch keine Attribute geprüft.
Dekodiertes XML

Struktur dekodieren, serverseitig verifizieren

Der Inspektor zeigt XML und Signaturen, validiert jedoch keine XML-Signatur, Vertrauenskette, Replay-Sperre, Empfängerbindung oder IdP-Metadaten.

SAML-Antwort dekodieren und Assertion-Felder lesen

Der Inspektor nimmt eine SAMLResponse so, wie sie ankommt — Base64, URL-kodiertes Base64 oder das rohe <samlp:Response>-Dokument — und legt die Felder darin offen: Statuscode, Aussteller, NameID, Audience, Destination, InResponseTo, die Objekt-IDs, das Conditions-Fenster und jeden Attributwert. Beispiel laden füllt das Feld mit einer im Browser erzeugten Vorlage und dekodiert sie.

Die Dekodierung läuft im Browser. In einer gemessenen Sitzung verließ keine Anfrage die Seite außer der eigenen Analyse des Standorts; eine aufgezeichnete Antwort kann also unverändert eingefügt werden. Sie enthält trotzdem echte Namen, Adressen und Sitzungskennungen: vor dem Teilen eines Berichts entfernen.

  1. SAMLResponse (Base64 oder URL-kodiertes Base64) oder ein vollständiges <samlp:Response>-Dokument einfügen; Beispiel laden startet mit einer Vorlage, deren Zeitfenster um die aktuelle Minute liegt.
  2. Dekodieren und prüfen drücken. Die Zähler nennen Assertions, Signaturen, Attribute und Zeichen; die Zusammenfassung listet Status, Aussteller, Subject, Audience, Destination, beide IDs, InResponseTo und beide Zeitwerte.
  3. Die Befundliste lesen: sie benennt eine fehlende oder vorhandene Signatur, ein abgelaufenes oder noch nicht gültiges Conditions-Fenster, fehlende Audience oder Destination und einen Status ungleich Success.
  4. Die Attributtabelle auf die Werte prüfen, die ein Service Provider übernimmt, dann Bericht kopieren oder Kopieren über dem dekodierten XML verwenden.
  5. Leeren drücken, bevor die nächste Antwort kommt, damit das vorige Ergebnis nicht stehen bleibt.

Was der Inspektor liest und was er nur meldet

Was gelesen wird — und in welcher Reihenfolge

Der Dekodierer liest das erste Response-Element und darin die erste Assertion. Aussteller, StatusCode, NameID, Audience, Destination, InResponseTo, IDs, Conditions und AttributeStatement stammen aus diesem Paar. Bei zwei Assertions meldet der Zähler 2, aber Zusammenfassung und Attributtabelle beschreiben nur die erste; das SubjectConfirmationData-Fenster wird nicht ausgewertet.

Die Eingabe wird vor dem Dekodieren normalisiert: Leerraum und Zeilenumbrüche entfallen, URL-sichere Zeichen werden akzeptiert, fehlendes Padding ergänzt und eine URL-kodierte Zeichenkette zuerst prozentdekodiert. Rohes XML wird unverändert übernommen. Alles andere wird mit Grund abgelehnt: leere Eingabe, beschädigte Prozentkodierung, ungültiges Base64 oder die Position des XML-Parsers wie „line 1 at column 16: Element samlp:Response prefix is unbound“.

Zeitfenster und Signatur

Das Conditions-Fenster wird nur mit der Browseruhr verglichen: ein Dokument mit vergangenem NotOnOrAfter gilt als abgelaufen, eines mit NotBefore in der Zukunft als noch nicht gültig, ein offenes Fenster erzeugt die neutrale Zeile zur Browseruhr. Der Vergleich ist eine Lesehilfe, keine Replay-Prüfung.

Signaturen werden gezählt, nicht geprüft. Null ds:Signature-Elemente ergeben die Warnzeile; ein oder zwei ergeben den Hinweis, dass die kryptografische Gültigkeit nicht geprüft wurde. Zertifikat, Vertrauenskette, IdP-Metadaten, Empfängerbindung und Replay-Speicher werden hier nicht validiert.

Gemessene Grenzen und Datenschutz

Ein Attributwert von 1 MB wurde in einer Messung in rund 0,3 Sekunden dekodiert, und die Zähler beschreiben das zuletzt dekodierte Dokument: eine fehlgeschlagene Dekodierung leert Zusammenfassung, Befunde, Attribute und XML, statt das vorige Ergebnis neben dem Fehler stehen zu lassen. Kopieren ohne Ergebnis antwortet mit einem Satz statt mit einer stummen Zwischenablage.

Die Seite arbeitet nach dem Laden offline, und die Eingabe verlässt den Browser nie. Den dekodierten Bericht wie die Antwort behandeln, aus der er stammt: er kann Namen, E-Mail-Adressen, Gruppenzugehörigkeiten und Sitzungskennungen enthalten.

Zuletzt verwendet: