Статус: Участник
Группы: Участники
Зарегистрирован: 12.01.2011(UTC) Сообщений: 17 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: Москва
|
Здраствуйте. Прошу дать совет. Моё приложение формирует ЭЦП 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. Но писать собственный алгоритм канонизации не хочется. Возможно уже есть какие-то красивые решения?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close