Если существует опция , а не , создайте XML-подпись и вместо этого просто обработайте XML как поток байтов и подпишите его, сделайте это. Это будет легче реализовать, легче понять, более стабильно (без канонизации, преобразования, политики, ...) и быстрее.
Если вам абсолютно необходимо иметь XML DSIG (к сожалению, некоторые из нас должны), это, безусловно, возможно в наши дни, но есть много, много предостережений. Вам нужна хорошая поддержка библиотек, с Java это из коробки в JDK 1.6, я не знаком с другими платформами. Вы должны проверить совместимость с принимающей стороной подписанного XML, особенно если они потенциально находятся на другой платформе.
Обязательно прочитайте Почему нарушена безопасность XML , она в основном охватывает все основания, касающиеся ужаса канонизации XML, и дает некоторые указания на некоторые альтернативы.