Безопасность и Internet - статьи


Листинг 3 - часть 3


    </SOAP-ENV:Body>

</SOAP-ENV:Envelope>



CanonicalizationMethod - это обязательный элемент, который идентифицирует алгоритм канонизации, применяемой к элементу SignedInfo до создания подписи.

Алгоритмы канонизации чрезвычайно важны при подписании XML, поскольку алгоритмы дайджестов сообщений интерпретируют XML как поток двоичных данных. Два различных потока могут представлять один и тот же ресурс. Например, если изменить последовательность атрибутов в элементе XML, результирующий XML-файл является логически эквивалентной версией исходного XML-файла. Однако, эти два логически эквивалентных файла будут содержат разные потоки данных и создают различные дайджесты.

Алгоритмы канонизации предназначены для генерации двоичных потоков для логически эквивалентных данных XML. Чтобы быть уверенным, что логически эквивалентные XML-документы создают один и тот же дайджест (и одинаковую подпись), необходимо канонизировать ресурс XML до создания дайджеста потока данных.

Элемент CanonicalizationMethod в Листинге 3 содержит атрибут Algorithm, значением которого является строка URI (http://www.w3.org/2001/10/xml-exc-c14n#). Эта строка URI указывает алгоритм, описанный спецификацией W3C - "Исключительная канонизация XML" (Exclusive XML Canonicalization). Подробности канонизации XML выходят за рамки этой статьи. Детальная информация о канонизации может быть найдена в статьях, ссылки на которые приведены в разделе Ресурсы.

На данном этапе просто создается элемент CanonicalizationMethod - а алгоритм канонизации пока не используется. Он будет применяется к элементу SignedInfo после того, как будут сформированы все его потомки.

Следующий потомок элемента SignedInfo - это элемент SignatureMethod, атрибут Algorithm которого указывает алгоритм, используемый для создания криптографической подписи.

Третий потомок элемента SignedInfo - элемент Reference. У элемента SignedInfo должен быть хотя бы один элемент Reference. Этот элемент используется для хранения информации, которая включает:




- Начало -  - Назад -  - Вперед -



Книжный магазин