Алгоритм Канонизации XML дает два результата различия при прямом вызове чем тогда, когда названо как часть цифровой подписи XML?

Я использую static final для объявления констант и перехожу на нотацию имен ALL_CAPS. Я видел довольно много реальных случаев, когда все константы объединялись в интерфейс. Несколько постов справедливо назвали это плохой практикой, в первую очередь потому, что интерфейс не для этого. Интерфейс должен обеспечивать выполнение контракта и не должен быть местом для помещения несвязанных констант. Объединение его в класс, экземпляр которого не может быть создан (с помощью частного конструктора), тоже хорошо, если семантика констант не принадлежит конкретному классу ( эс). Я всегда помещаю в класс константу, с которой она больше всего связана, потому что это имеет смысл и также легко поддерживается.

Перечисления являются хорошим выбором для представления диапазона значений, но если вы храните автономные константы с акцентом на абсолютное значение (например, TIMEOUT = 100 мс), вы можете просто пойти на подход static final.

8
задан Perception 5 August 2011 в 15:05
поделиться

1 ответ

Способ обработки пробелов в XML Sig, на мой взгляд, нарушен. Это определенно не соответствует тому, что большинство здравомыслящих людей назвали бы канонизацией. Изменение пробелов должно не влиять на дайджест, но в xmlsig это должно.

Одним из возможных способов обхода проблемы является передача документа через процедуру каноникализатора перед передачей его коду генерации подписи. Это должно сделать вещи более предсказуемыми.

Эта статья может помочь прояснить ситуацию.

7
ответ дан 5 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: