You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用Apache XML Security的Java代码中修改XML Canonicalization方法

XML签名规范化算法修改方案

你只需要调整Canonicalizer.getInstance()传入的算法ID常量即可快速完成修改,修改后的参考代码如下:

// 该常量对应当前你需要的 http://www.w3.org/2001/10/xml-exc-c14n# 排他性XML规范化规范(无注释版本)
outputStream.write(Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_EXCL_OMIT_COMMENTS).canonicalizeSubtree(doc));

补充说明

  • 若你的业务场景需要保留XML中的注释内容,可以替换为Canonicalizer.ALGO_ID_C14N_EXCL_WITH_COMMENTS常量,对应算法URI为http://www.w3.org/2001/10/xml-exc-c14n#WithComments
  • 若运行时提示算法不存在,可先执行Apache XML Security的初始化逻辑,该逻辑全局仅需执行一次,建议放在项目启动阶段执行:
    org.apache.xml.security.Init.init();
    

内容的提问来源于stack exchange,提问作者Prothy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:27:02