private function XMLSecurityDSig::canonicalizeData in SAML SP 2.0 Single Sign On (SSO) - SAML Service Provider 7
Parameters
DOMNode $node:
string $canonicalmethod:
null|array $arXPath:
null|array $prefixList:
Return value
string
3 calls to XMLSecurityDSig::canonicalizeData()
- XMLSecurityDSig::canonicalizeSignedInfo in includes/
XMLSecurityKey.php - XMLSecurityDSig::processTransforms in includes/
XMLSecurityKey.php - XMLSecurityDSig::sign in includes/
XMLSecurityKey.php
File
- includes/
XMLSecurityKey.php, line 965
Class
Code
private function canonicalizeData($node, $canonicalmethod, $arXPath = null, $prefixList = null) {
$exclusive = false;
$withComments = false;
switch ($canonicalmethod) {
case 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315':
$exclusive = false;
$withComments = false;
break;
case 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments':
$withComments = true;
break;
case 'http://www.w3.org/2001/10/xml-exc-c14n#':
$exclusive = true;
break;
case 'http://www.w3.org/2001/10/xml-exc-c14n#WithComments':
$exclusive = true;
$withComments = true;
break;
}
if (is_null($arXPath) && $node instanceof DOMNode && $node->ownerDocument !== null && $node
->isSameNode($node->ownerDocument->documentElement)) {
/* Check for any PI or comments as they would have been excluded */
$element = $node;
while ($refnode = $element->previousSibling) {
if ($refnode->nodeType == XML_PI_NODE || $refnode->nodeType == XML_COMMENT_NODE && $withComments) {
break;
}
$element = $refnode;
}
if ($refnode == null) {
$node = $node->ownerDocument;
}
}
return $node
->C14N($exclusive, $withComments, $arXPath, $prefixList);
}