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

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();
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.

C'est une lib très peu documentée et je suis obligé de travailler avec. Merci à tous pour votre assistance