PHP и каноникализация C14N
Цель канонизации — обеспечить, чтобы для одних и тех же данных на уровне XML не менялся хэш, необходимый для проверки подписи. Т.е. удаляются лишние пробелы, символы и т.д. У себя реализовал примерно так:
function CanonicalXML($xml_text){
$xml = new DOMDocument( "1.0", "utf-8" );
$xml->loadXML($xml_text);
$xml = $xml->C14N();
return $xml;
}
echo CanonicalXML('<Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" ><Body>Привет всем!</Body ></Envelope >');