XML 签名的引用中的 DigestValues 从何而来?
Where do the DigestValues in the References of a XML Signature come from?
我必须签署一个 XML 文件并将签名和文件放在同一个 XML 中。问题是,我必须在引用中生成 DigestValues,但我不确定它们来自哪里。我有一个例子,URI 指向同一个文档中的一个元素。但是我不知道如何在首先应用转换的同时生成这些部分的哈希值。
我尝试获取其中的元素,例如,一个引用指向 KeyInfo,我尝试获取证书的指纹,但没有用。
我试图只散列部分的搅拌
我已经尝试过 XPath,但没有用,因为我必须在将所有内容输出为 XML
之前生成 DigestValue
不幸的是,由于保密原因,我不能 post 任何代码,但是为了大致了解我在说什么,我正在使用 w3c 标准:https://www.w3.org/TR/xmldsig-core1/
我要么想要一种创建元素的方法,例如作为数据对象的 KeyInfo,要么想要一种获取 KeyInfo 的正确 DigestValue 的方法。
我想通了。
当您创建一个元素时,您必须指定一个 ID 属性并告诉它是一个 ID 属性。例如:
Element element1 = doc.createElement("element1");
element1.setAttribute("Id", "123456789");
element1.setIdAttribute("Id", true);
这将确保 ID 在签名时被视为 URI。
我必须签署一个 XML 文件并将签名和文件放在同一个 XML 中。问题是,我必须在引用中生成 DigestValues,但我不确定它们来自哪里。我有一个例子,URI 指向同一个文档中的一个元素。但是我不知道如何在首先应用转换的同时生成这些部分的哈希值。
我尝试获取其中的元素,例如,一个引用指向 KeyInfo,我尝试获取证书的指纹,但没有用。
我试图只散列部分的搅拌
我已经尝试过 XPath,但没有用,因为我必须在将所有内容输出为 XML
之前生成 DigestValue不幸的是,由于保密原因,我不能 post 任何代码,但是为了大致了解我在说什么,我正在使用 w3c 标准:https://www.w3.org/TR/xmldsig-core1/
我要么想要一种创建元素的方法,例如作为数据对象的 KeyInfo,要么想要一种获取 KeyInfo 的正确 DigestValue 的方法。
我想通了。
当您创建一个元素时,您必须指定一个 ID 属性并告诉它是一个 ID 属性。例如:
Element element1 = doc.createElement("element1");
element1.setAttribute("Id", "123456789");
element1.setIdAttribute("Id", true);
这将确保 ID 在签名时被视为 URI。