Comment signer un XML avec le préfixe ds dans le bloc de signature
Bonjour,
je suis confronté à un problème assez gênant au niveau de la signature XML d'un document. D'après mes recherches sur Internet je ne suis pas le seul, mais aucune solution en vue néanmoins.
J'ai déjà signé des documents XML sans problème avec la classe SignedXml. La partie signature était alors semblable à
Code:
1 2 3 4 5 6
| <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
...
</SignedInfo>
<SignatureValue>...</SignatureValue>
</Signature> |
Maintenant, j'ai besoin de générer une signature de la forme
Code:
1 2 3 4 5 6
| <ds:Signature>
<ds:SignedInfo>
...
</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
</ds:Signature> |
Le namespace ds étant définit sur le document à signer.
Malheureusement le framework ne permet pas une telle signature. Le namespace ds est optionnel dans la norme XmlDSig de ce que j'ai pu comprendre et personnellement je l'aurais bien enlevé si j'avais pu, cela m'aurait bien aidé :aie:
Comment résoudre ce problème ? J'ai l'impression qu'il n'y a pas de solution simple, à part faire sa propre classe SignedXml pour la gestion du préfixe :(