私は、クライアントとサーバー間の通信にRESTとXMLを使用しています。クライアントはすべてのXMLにエンベロープ署名を追加し、サーバーはその認証を確認する必要があります。私はマーシャリングとアンマーシャリングにJAXBを使用しています。 署名要素を確認するためにorg.w3c.dom.Elementとして署名要素を取得する必要があり、まっすぐなDOM操作を使用しないようにしたいと考えています。 サーバーは応答XMLにも署名する必要があります。JAXBを使用してXML署名を取得する最良の方法
はのは、いくつかのコードを見てみましょう:
RESTインターフェース
のgetXML(ルートルート)
XML:
<root>
<foo></foo>
<bar></bar>
<Signature Id="Signature-1c7757b0" xlns="http://www.w3.org/2000/09/xmldsig#">
...
</Signature>
<root>
これは私の現在のソリューションです。
JAXBクラス
@XmlRootElement
public class Root{
@XmlElement
private Foo foo;
@XmlElement
private Bar bar;
@XmlAnyElement(lax = true)
private List<Element> signature;
}
誰もがこれを処理するためのよりよい解決策を考えることができますか?私はDSigライブラリとJAXBを使って作業する方法をオンラインで詳しく説明していませんでした。