Определение одного метода канонизации в Java-коде, получение другого в выводе XML, как это исправить?

#java #xml #eclipse #digital-signature #canonicalization

Вопрос:

Итак, в коде у меня есть это:

 outputStream.write(Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_EXCL_OMIT_COMMENTS).canonicalizeSubtree(doc));
return outputStream;
 

И, очевидно, метод канонизации цифровой подписи, который мне нужен в выводе XML, таков http://www.w3.org/2001/10/xml-exc-c14n# .

Однако, что бы я ни делал, вывод XML канонизируется с http://www.w3.org/TR/2001/REC-xml-c14n-20010315 помощью . Это строка в XML:

 <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
 

Когда я изменяю код Java для запроса ALGO_ID_C14N_WITH_COMMENTS , я получаю идентичный вывод, как и в этом случае.

Я определенно сохранил изменения в коде Java, и я абсолютно точно смотрю на правильный выходной файл. Что происходит? Я могу поделиться остальной частью кода, если проблема может быть в другом месте.

Комментарии:

1. Итак, как оказалось, я не единственный, у кого была именно эта проблема, так что я предполагаю, что это какая-то ошибка, поскольку решения пока не найдено. Я решил проблему, используя xmlsec1 через командную строку для подписи XML вместо этого, так что это моя рекомендация, если вы окажетесь в такой ситуации (вы можете увидеть сообщение, которое я сделал после этого, для получения более подробной информации) — я не публикую это как ответ, так как технически это не отвечает на вопрос.