[英]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.