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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline alegul  
#1 Оставлено : 5 марта 2011 г. 14:16:52(UTC)
alegul

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

Группы: Участники
Зарегистрирован: 12.01.2011(UTC)
Сообщений: 17
Мужчина
Откуда: Москва

Здраствуйте. Прошу дать совет.

Моё приложение формирует ЭЦП XML файла в соответствии со спецификацией XML-Dsig.
Подписанный XML далее обрабатывается в партнёрской системе, где он как минимум один раз вычитывается в DOM и без изменений данных сериализуется обратно. Но при этой сериализации удаляются все whitespace - пробелы, табуляции, переносы строк - между узлами XML. Т.е. исходный XML

Код:

[?xml version="1.0" encoding="UTF-8"?]
[root]
	[child id="1" available="true"]
		[name]test[/name]
		[shortDescription]test[/shortDescription]
	[/child]
[/root]


превращается в
Код:

[?xml version="1.0" encoding="UTF-8"?][root][child id="1" available="true"][name]test[/name][shortDescription]test[/shortDescription][/child][/root]


Я использую при подписи XML стандартный алгоритм канонизации http://www.w3.org/TR/2001/REC-xml-c14n-20010315. Как оказалось, этот алгоритм не предусматривает никакой нормализации whitespace внутри корневого тега, а это значит что в моём примере подпись XML ломается. Так же это значит что если открыть подписанный XML на просмотр и сделать например pretty view и сохранить файл, подпись тоже сломается. И это меня удивило, т.к. канонизация по своей сути есть средство удаления различий физического представления.

Вопрос - как сделать так чтобы добавление/удаление пробельных символов (пробелов, табуляций, переносов строки) между узлами XML не ломало подпись? Мне приходит в голову только написание собственного алгоритма канонизации, который будет делать то же что http://www.w3.org/TR/2001/REC-xml-c14n-20010315 плюс удалять whitespace. Но писать собственный алгоритм канонизации не хочется. Возможно уже есть какие-то красивые решения?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.