Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ty134  
#1 Оставлено : 13 августа 2022 г. 11:07:42(UTC)
ty134

Статус: Участник

Группы: Участники
Зарегистрирован: 19.03.2015(UTC)
Сообщений: 26
Ангилла

Добрый день!
подскажите пожалуйста как подписать в XML Только содержимое тегов по id
подписали XML проверили - подпись верна
изменили порядок тэгов , но не содержимое проверили - подпись верна
...
и какие существуют ограничения
интерент много что выдает, но както все не про то

Огромное спасибо.
Offline ty134  
#2 Оставлено : 13 августа 2022 г. 11:21:50(UTC)
ty134

Статус: Участник

Группы: Участники
Зарегистрирован: 19.03.2015(UTC)
Сообщений: 26
Ангилла

какие алгоритмы канонизации лучше использовать (если я правильно понял, для решении нужено преред подписью обработать XML "алгоритмы канонизации")
Offline two_oceans  
#3 Оставлено : 6 сентября 2022 г. 8:23:26(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 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 выбрать). Из отечественных "сверх стандарта" можно порекомендовать трансформ СМЭВ, так как он достаточно эффективно закрывает слабые места стандартной каноникализации (наличие переводов строки и табуляции может дать некорректные результаты проверки - они убираются).
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.