1 pièce(s) jointe(s)
XMLDISG problème de forme canonique
Bonjour,
Je poste ce message dans le forum XML car cela me semble être l'endroit le plus adapté.
j'ai besoin de signer un XML, cela commence par calculer un SHA1 d'un noeud du XML pour ensuite le signer avec un certificat...sauf que depuis quelques jours je me bats avec non pas SHA1 qui est parfaitement connu mais sur la forme canonique qu'il faut appliquer au XML avant le calcul du SHA1.
ah oui, je précise que je veux faire ce calcul à la main, sans passer par une librairie externe, car je veux avant tout comprendre le procédé....ou alors il faut que la librairie me produire le XML canonique car dans ce cas je serais en mesure de reproduire cette transformation.
vous trouverez en pièce jointe le XML que je cherche à générer
Pièce jointe 327915
le premier point c'est le DigestValue "PglulHa/OznIsJOwd7qdaUgc4g0=" (base64 du sha1 binaire sur 20 octets) qui provient d'un document externe. Lui est bon.
le second point c'est le DigestValue "RsQvbSdOf4yjN/0rBl8uWUF/RbI=" qui provient de la forme canonique du noeud <ds:Manifest Id="IHEManifest">
on l'obtient essentiellement en ajoutant l'attribut xmlns:ds="http://www.w3.org/2000/09/xmldsig#" au noeud et en éclatant les noeuds <ds:Transform /> en <ds:Transform></ds:Transform>.
maintenant je veux obtenir le DigestValue "Rp4leMfflC/Sj/uHkjSNNHHShg8=" qui doit correspondre au noeud <SignedProperties Id="SignedPropertiesId">...et là pas moyen :(
j'ai tenté différents namespace, l'ajout de préfixe "xds" pour XAdES, mais rien n'y fait, je ne trouve pas la bonne formule.
Quelqu'un peut-il éclairer ma lanterne ?
Merci