Что вам нужно, это называется XMLDSig и XMLEnc (это имена соответствующих стандартов для подписи и шифрования XML в XML, как в противоположном pkcs7/CMS, которая шифрует и подписывает данные в виде непрозрачных сгустков) ,
Java имеет встроенный XMLDSig API (read the article here), хотя, похоже, для XMLEnc не существует родной путь.
У .NET Framework 4.0 также есть встроенные механизмы для подписи и шифрования XML, но они не столь очевидны. See how-tos here.
Наша компания предлагает обширную библиотеку для задач безопасности под названием SecureBlackbox, а SecureBlackbox включает гибкую и удобную в использовании поддержку XMLDSig, XMLEnc и XAdES. Доступны как версии .NET, так и Java. Прочитайте details about XMLBlackbox пакет SecureBlackbox.
Обновление: Если вам не нужен формат, и единственный маршрут ваших данных XML от одного места к другому, то вы можете использовать PKCS # 7/CMS вместо XMLDSig и XMLEnc. Как сказано выше, CMS обрабатывает ваши данные как непрозрачные blob и переносит их в двоичные данные. BouncyCastle - один из вариантов, и SecureBlackbox также может быть полезен.
спасибо за повтор. можно предоставить примеры или шаги для подписания и шифрования xml-файла с помощью bouncycastle – kevin159
XMLDSig или XMLEnc никогда не требовали первоначального вопроса. Я просто заявил, что вы можете шифровать/дешифровать файл с помощью BouncyCastle. –