Обработка узла SignedProperties в XaDeS XML Signature (C++)

Поэтому я пытаюсь вычислить дайджест-значение элемента SignedProperties в соответствии со стандартом подписи XaDeS-EPES, но всегда получаю неверное дайджест-значение.

Я знаю, что нужно делать, это канонизация узла (согласно XML Canonicalization V1.0 https://www.w3.org/TR/xml-exc-c14n/), а затем вычисление двоичного файла sha-256 дайджест и, наконец, кодировка base64 и вставка в узел Reference, указывающий на SignedProperties.

Поскольку в настоящее время я вычисляю другие правильные значения с теми же функциями, я думаю, что ошибка находится на этапе канонизации, в настоящее время я работаю с функцией c14n, принадлежащей libxml2, но если я передаю узел как есть, он выдает ошибка, поскольку пространства имен не определены в узле, я попытался добавить объявления внутри узла SignedProperties, но не могу получить правильный дайджест.

Кто-нибудь знает?

Спасибо за ваше время и знания, с наилучшими пожеланиями;D

1 ответ

У меня была похожая проблема. Решение было заменить <tag/>по <tag></tag>.

Не уверен, что это ответ на ваш вопрос.

Другие вопросы по тегам