Основной объект, определяемый в спецификации XML Signature, — элемент Signature, который содержит саму цифровую подпись и информацию о способе ее создания. Есть несколько вариантов использования Signature, но в SOAP-сообщениях он обычно содержит элементы Signedlnfcn Keyinfo.
Элемент Signedlnfo описывает информацию, для которой создавалась
цифровая подпись. Он включаем несколько вложенных элементов, каждый из которых определяет какой-либо параметр подписываемой информации. Вот важнейшие из них.
• CarwiiicalizationMethod указывает алгоритм, по которому этот XML-документ приводился к стандартной форме перед созданием цифровой подписи. Такое преобразование необходимо потому, что для использования цифровой подписи требуется, чтобы представление XML-документа различными сторонами совпадало с точностью до бита. А без такой канонизации (canonicalization), два семантически идентичных XML-документа могут отличаться на битовом уровне. Так, в одном конец строки может обозначаться символами «возврат каретки/перевод строки», а в другом — только символом перевода строки. Канонизация приводит XML-документ к стандартной форме, обеспечивая точное совпадение документов перед созданием цифровой подписи.
• Signature Method указывает алгоритм, по которому создавалась цифровая подпись. И XML Signature и WS-Security требуют соответствия стандарту Digital Signature Standard, согласно которому сообщение обрабатывается при помощи алгоритма хэширования SHA-1 и алгоритма DSA. Кроме того, рекомендуется поддержка совместного использования SHA-1 и RSA.
• Reference описывает информацию, для которой применяется цифровая подпись, и указывает все преобразования, выполненные над этой информацией. При использовании
