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