Posted at

【Java】【XML署名】Signatureタグに接頭辞とIDを付与する

More than 1 year has passed since last update.

JavaのXML署名でSignatureタグの扱いについてメモ。


Signatureタグに接頭辞「dsig」を付与したい場合


createXml.java

// 署名コンテキストの作成

// setDefaultNamespacePrefixでSignatureタグ(子要素もすべて)に接頭辞をつける
DOMSignContext dsc = new DOMSignContext(privateKey, document.getDocumentElement());
dsc.setDefaultNamespacePrefix("dsig");


SignatureタグにIDを付与したい場合


createXml.java

XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");

(中略)

// 署名する.
// newXMLSignatureの第4引数にIDをセット
XMLSignature signature = fac.newXMLSignature(si, ki, null, "a", null);
signature.sign(dsc);



参考サイト(英語)

How to add namespace while signing XML file using javax.xml.crypto.dsig.*?

add attribute to signature xml in java