Я публикую это в SO, потому что нигде не смог найти решения и потратил много времени, чтобы выяснить, в чем проблема. Я надеюсь, что какой-нибудь разработчик, столкнувшийся с той же проблемой, найдет этот пост в будущем:)
C14N-преобразование, похоже, реализовано по-разному в NET и Java. Два разных «стандарта».
Никогда не добавляйте вручную пространство имен xmlns: xml в ваш xml -документ, если Java клиент может нуждается в проверке содержащегося xml подпись. Java, кажется, удаляет xmlns: xml объявление ДО проверки подлинности подписи (!)