Bonjour,
je souhaiterais utiliser la bibliothèque xmlseclibs, afin de vérifier la signature d'un flux xml, j'utilise le code ci-dessous,mais j'ai une exception de type "'Exception' with message 'Reference validation failed'
Devrais-je modifier quelque chose dans ma configuration
pourriez-vous me dire qu'elle est la signification du paramètre $objXMLSecDSig->idNS et quelle est la valeur qu'il doit prendre? j'aai récupéré ce code d'internet et je comprends pas tout le traitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $nodeElmt = $doc->getElementsByTagNameNS("*", "Signature")->item(0); print_r($nodeElmt); if($nodeElmt->hasChildNodes()) { print_r($nodeElmt); echo("<br/>signature existe"); $flux_sig = $this->dom2array($nodeElmt); print_r($flux_sig); //saving generated xml file (optionnel, juste pour voir le détail) // $doc->save("file.xml"); $objXMLSecDSig = new XMLSecurityDSig(); $objDSig = $objXMLSecDSig->locateSignature($doc); if (! $objDSig) { throw new Exception(" Cannot locate Signature Node"); } $objXMLSecDSig->canonicalizeSignedInfo(); $objXMLSecDSig->idKeys = array('wsu:Id'); $objXMLSecDSig->idNS = array('wsu'=>'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'); $retVal = $objXMLSecDSig->validateReference();
C'est une lib très peu documentée et je suis obligé de travailler avec. Merci à tous pour votre assistance
Partager