[英]Different XML signature between Apache Santuario and Java XML Digital Signature API
我做了两个应该做同样事情的实现:用给定的X509证书对XML文件签名。
发生的事情是,对于要签名的完全相同的XML文件,它为SignatureValue生成了不同的值。 但XML的所有其他属性完全相同:
我甚至尝试了小的XML(例如,仅<x />标记),但SignatureValue从未匹配。
除SignatureValue之外,是否有所有<Signature>标记中的所有数据都匹配的情况?
我找到了解决方案。 发生这种情况是因为Apache Santuario在签名标签中添加了换行符。 因此,如果将Apache生成的签名和Java XML签名生成的签名进行比较,则<SignedInfo>标记的内容将有所不同。
为了解决这个问题,我在签名之前已放置了以下代码。
System.setProperty("org.apache.xml.security.ignoreLineBreaks", "true")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.