PHP и каноникализация C14N
Цель канонизации — обеспечить, чтобы для одних и тех же данных на уровне XML не менялся хэш, необходимый для проверки подписи. Т.е. удаляются лишние пробелы, символы и т.д. У себя реализовал примерно так:
1 2 3 4 5 6 7 8 |
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 >'); |