我对RSA-SHA1感到困惑,我认为它是RSA_private_encrypt(SHA1(消息)).但我无法获得正确的签名值.有什么不对的吗?
我已经检查了 W3C 网站上的 XML 签名语法和处理,但是它几乎没有说明多重签名。是否有在单个 xml 文件上创建多重签名的标准或规则?谢谢
示例:(仅考虑相同文件引用)
原始xml
<root>
<item>
<name>Apple</name>
<price>100</price>
</item>
</root>
Run Code Online (Sandbox Code Playgroud)
首先 A 用信封的签名签名
签名的 XML
<root>
<item>
<name>Apple</name>
<price>100</price>
</item>
<Signature>this is Signature signed by A with Ref URL=""</Signature>
</root>
Run Code Online (Sandbox Code Playgroud)
现在,B 想要签署 XML(包含 A 的签名)
B 签名 XML
<root>
<item>
<name>Apple</name>
<price>100</price>
</item>
<Signature>Signature A: this is Signature signed by A with Ref URL=""</Signature>
<Signature>Signature B: this is Signature signed by B with Ref URL=""</Signature>
</root>
Run Code Online (Sandbox Code Playgroud)
然后在验证时,它变得混乱......
对于签名 A,在验证时,它看到
<root>
<item>
<name>Apple</name>
<price>100</price>
</item>
<Signature>Signature …Run Code Online (Sandbox Code Playgroud) 在生成XML内容时,我得到一个空节点<node/>,我想要它<node></node>.(由于<node></node>是c14n的正确形式,称为"将空元素转换为起始标记对"的进度)
我该如何转换它?
Jim Garrison(谢谢)通过使用xmlBufferCreate,xmlSaveToBuffer,xmlSaveDoc,xmlSaveClose和xmlSaveOption来实现这一点:XML_SAVE_NO_EMPTY