Collez du XML, du Base64 ou du Base64 encodé dans une URL. L’outil affiche la structure et les signatures présentes sans valider les signatures XML.
Fonctionne localement dans votre navigateur| Attribut | Valeur |
|---|---|
| Aucun attribut inspecté pour le moment. | |
Cet inspecteur affiche les éléments XML et de signature intégrés, mais ne valide pas les signatures XML, les chaînes de confiance, la protection contre la relecture, la liaison du destinataire ou les métadonnées du fournisseur d'identité.
L’inspecteur accepte une SAMLResponse telle qu’elle arrive — Base64, Base64 encodé dans une URL ou le document <samlp:Response> brut — et expose les champs qu’elle contient : code de statut, émetteur, NameID, audience, destination, InResponseTo, les identifiants, la fenêtre Conditions et chaque valeur d’attribut. Charger un exemple remplit le champ avec un modèle généré dans la page et le décode.
Le décodage se fait dans le navigateur. Dans une session mesurée, aucune requête n’a quitté la page hormis la mesure d’audience du site : une réponse capturée peut donc être collée telle quelle. Elle contient malgré tout de vrais noms, adresses et identifiants de session : à retirer avant de partager un rapport.
Le décodeur lit le premier élément Response, puis la première Assertion qu’il contient. Émetteur, StatusCode, NameID, audience, destination, InResponseTo, identifiants, Conditions et AttributeStatement viennent de ce couple. Avec deux assertions dans une réponse, le compteur indique 2, mais le résumé et le tableau des attributs ne décrivent que la première ; la fenêtre SubjectConfirmationData n’est pas interprétée.
L’entrée est normalisée avant décodage : espaces et retours à la ligne sont supprimés, les caractères URL-safe sont acceptés, le remplissage (=) manquant est rétabli et une chaîne encodée dans une URL est d’abord décodée en percent-encoding. Le XML brut est pris tel quel. Tout le reste est refusé avec un motif : entrée vide, encodage percent cassé, Base64 invalide, ou la position de l’analyseur XML comme « line 1 at column 16: Element samlp:Response prefix is unbound ».
La fenêtre Conditions est comparée à l’horloge du navigateur et à rien d’autre : un document dont le NotOnOrAfter est passé est marqué expiré, un NotBefore dans le futur marque l’assertion comme pas encore valide, et une fenêtre ouverte produit la ligne neutre sur l’horloge du navigateur. Cette comparaison aide à la lecture ; ce n’est pas un contrôle anti-rejeu.
Les signatures sont comptées, pas vérifiées. Zéro élément ds:Signature produit la ligne d’alerte ; un ou deux produisent la mention que leur validité cryptographique n’a pas été contrôlée. Ni certificat, ni chaîne de confiance, ni métadonnées d’IdP, ni liaison au destinataire, ni cache anti-rejeu ne sont validés ici.
Une valeur d’attribut de 1 Mo a été décodée en environ 0,3 seconde lors d’une mesure, et les compteurs décrivent le dernier document décodé : un décodage en échec vide le résumé, les résultats, les attributs et le XML au lieu de laisser le résultat précédent à côté de l’erreur. Copier sans résultat répond par une phrase au lieu d’un presse-papiers silencieux.
La page fonctionne hors ligne une fois chargée et l’entrée ne quitte jamais le navigateur. Traitez le rapport décodé comme la réponse d’origine : il peut contenir des noms, des adresses e-mail, des appartenances à des groupes et des identifiants de session.