必要なものはXMLDSigおよびXMLEncと呼ばれます(これらは、データを不透明なブロブとして暗号化および署名するPKCS7 / CMSとは対照的に、XMLの方法でXMLの署名および暗号化に対応する標準の名前です)。
XMLEncのネイティブな方法はないようですが、 JavaにはXMLDSig APIが組み込まれています(こちらの記事を読んでください)。
.NET Framework 4.0には、XML署名と暗号化のメカニズムも組み込まれていますが、それらはそれほど明白ではありません。こちらのハウツーをご覧ください。
当社は、SecureBlackboxという名前のセキュリティタスク用の広範なライブラリを提供しています。SecureBlackboxには、XMLDSig、XMLEnc、およびXAdESの柔軟で使いやすいサポートが含まれています。.NETエディションとJavaエディションの両方が利用可能です。SecureBlackboxのXMLBlackboxパッケージの詳細をお読みください。
更新:フォーマットを気にせず、XMLデータの唯一のルートが特定の場所から別の場所へのルートである場合は、XMLDSigおよびXMLEncの代わりにPKCS#7/CMSを使用できます。上記のように、CMSはデータを不透明なブロブとして扱い、バイナリデータにラップします。BouncyCastleはそのときのオプションの1つであり、SecureBlackboxも使用できます。