本文整理汇总了PHP中XMLSecurityDSig::compareDigest方法的典型用法代码示例。如果您正苦于以下问题:PHP XMLSecurityDSig::compareDigest方法的具体用法?PHP XMLSecurityDSig::compareDigest怎么用?PHP XMLSecurityDSig::compareDigest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLSecurityDSig
的用法示例。
在下文中一共展示了XMLSecurityDSig::compareDigest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processSignature
public function processSignature($refNode)
{
$objXMLSecDSig = new XMLSecurityDSig();
$objXMLSecDSig->idKeys[] = 'wswsu:Id';
$objXMLSecDSig->idNS['wswsu'] = self::WSUNS;
$objXMLSecDSig->sigNode = $refNode;
$objXMLSecDSig->canonicalizeSignedInfo();
$canonBody = $objXMLSecDSig->canonicalizeBody();
$retVal = $objXMLSecDSig->validateReference();
if (!$retVal) {
throw new Exception("Validation Failed");
}
$key = NULL;
$objKey = $objXMLSecDSig->locateKey();
do {
if (empty($objKey->key)) {
$handler = fopen($this->certServerPath, "r");
$x509cert = fread($handler, 8192);
fclose($handler);
$objKey->loadKey($x509cert, FALSE, TRUE);
break;
throw new Exception("Error loading key to handle Signature");
}
} while (0);
if ($objXMLSecDSig->verify($objKey) && $objXMLSecDSig->compareDigest($canonBody)) {
return TRUE;
} else {
return FALSE;
}
}