我正在尝试实现XML数字签名的例程,并且我能够更正地计算要签名的信息的哈希值。但是,我遇到了签名本身的问题,因为我无法创建要签名的真实字符串。
现在我有这个:
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>eDSx9uS7oB++bnG/6tGiD/l8374=</DigestValue>
</Reference>
</SignedInfo>
仅使用CR而不是CRLF。没有缩进空间(帖子显示标签之间的空格,有CR)
有关计算有效签名的建议吗?
Pd积。我已将规范化算法更改为EXCLUSIVE并且它可以工作,但要求是使用INCLUSIVE。
提前多多感谢。
答案 0 :(得分:2)
这是一个建议:确保为所有标记和属性复制正确的命名空间defs。这是一些更多的信息。
http://anilsaldhana.blogspot.com/2009/07/exclusive-versus-inclusive.html http://lists.oasis-open.org/archives/wss/200311/msg00058.html
当然,您真的不应该首先实现自己的XML DigSig库。在您继续之前,我强烈建议您先查看一些开源库。应该有大量的libs来做这种规范化的例子。无论如何,你可能想要对它们进行测试。