Статус: Участник
Группы: Участники
Зарегистрирован: 19.03.2015(UTC) Сообщений: 26
|
Добрый день! подскажите пожалуйста как подписать в XML Только содержимое тегов по id подписали XML проверили - подпись верна изменили порядок тэгов , но не содержимое проверили - подпись верна ... и какие существуют ограничения интерент много что выдает, но както все не про то
Огромное спасибо.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.03.2015(UTC) Сообщений: 26
|
какие алгоритмы канонизации лучше использовать (если я правильно понял, для решении нужено преред подписью обработать XML "алгоритмы канонизации")
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: ty134 подскажите пожалуйста как подписать в XML Только содержимое тегов по id подписали XML проверили - подпись верна изменили порядок тэгов , но не содержимое проверили - подпись верна Добрый день. Полагаю вопрос потому же коду из соседнего вопроса? https://www.cryptopro.ru...aspx?g=posts&t=21107В точности так наверно не получится. Действительно, можно исключить сами теги из проверки и подписать только текстовые узлы в определенном фрагменте, однако текстовые узлы висят под тегами, то есть поменяв порядок родительских тегов, порядок текстовых узлов тоже изменится. В одном случае будет "FamilyName2FamilyName" в другом "FamilyNameFamilyName2". Другими словами, сначала нужен трансформ на сортировку тегов по содержимому дочернего текстового узла, уже потом трансформ на исключение самих тегов. После исключения тегов все слипнется в один текст и различить что было одним узлом, что было вторым узлом будет сложновато. С другой стороны, если теги отсортировать, то их можно и не исключать, фрагменты совпадут. Также хотелось бы отметить, что трансформы используются в 2 местах: 1) для каждого Reference - список произвольный, важно чтобы проверяющая сторона также поддерживала такой трансформ; 2) для signedInfo обязательно применяется CanonicalithationMethod - тут допустимы только трансформы каноникализации. Рекомендуемые трансформы прописаны в стандарте XMLDSIG, в каждой версии стандарта свой список. Средство проверки подписи обязано поддерживать трансформы из стандарта и необязательно может поддерживать какие-то еще. Особо можно выделить обязательные трансформы каноникализации - они по сути просто приводят формат XML к более "строгому" формату (без короткой формы тегов, смешения кавычек и т.д., лучше всего эксклюзивную форму, специально придуманную для ЭП и в частности для переноса подписанных фрагментов в другой документ), enveloped-signature (без него никуда если надо подписать целый документ и подпись в этом же документе, но бесполезен если подпись и фрагмент не взаимоподчинены) и дополнительный XPATH (преобразования что именно из XML выбрать). Из отечественных "сверх стандарта" можно порекомендовать трансформ СМЭВ, так как он достаточно эффективно закрывает слабые места стандартной каноникализации (наличие переводов строки и табуляции может дать некорректные результаты проверки - они убираются).
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close