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


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


  1. Указание данных, которые подлежат подписанию. Для этого используется атрибут URI элемента Reference. Подписываемые данные могут быть как внутри XML-документа, так и вне него. Если данные и подпись находятся в одном и том же XML-документе, для их указания используется идентификатор фрагмента в виде значения атрибута URI элемента Reference. Так, в Листинге 3 значение атрибута URI указывает на элемент GetSpecialDiscountedBookingForPartners. Если же данные являются внешними по отношению к файлу с цифровой подписью XML, ссылаться на них необходимо посредством URI как значения атрибута URI элемента Reference.

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

    Элемент Transforms содержит информацию о том, какие операции выполняются на данных до их подписания. У элемента Transforms в Листинге 3 имеется один дочерний элемент Transform. Таких элементов может быть любое количество.

    Каждый элемент Transform указывает алгоритм преобразования. Если преобразовывать данные до их подписания, необходимо включить указание о том, что было сделано, добавив элемент Transform. Благодаря этому получатель подписанного файла сможет выполнить такое же преобразование до того, как попытаться проверить подпись. В нашем примере была выполнена только одна операция - алгоритм канонизации, указанный посредством атрибута Algorithm элемента Transform.

    В том случае если элемент Transforms содержит более одного элемента Transform, необходимо учитывать их порядок следования. Преобразования выполняются в том порядке, в каком они появляются в элементе Transforms. Все они производятся до профилирования данных. Следовательно, выходные данные последнего элемента Transform являются входными данными для алгоритма профиля сообщения.




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



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