有xml数字签名经验的人,请帮忙。
从http://www.w3.org/TR/xmldsig-core/我明白在xmldsig中我可以使用这样的代码
<Signature ..>
<SignedInfo>
...
<Reference URI="#xpointer(anyXPathExpression)">
...
所以,如果我有这样的文件
<Document xmlns="my-document">
<DocumentData>
<Name>Nobuo's document</Name>
</DocumentData>
</Document>
我想要签名元素/Document/DocumentData
,我可以使用这样的签名
<Document xmlns="swis-document">
<DocumentData>
<Name>Nobuo's document</Name>
</DocumentData>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
...
<Reference URI="#xpointer(/*[local-name()='Document'][1]/*[local-name()='DocumentData'][1])">
...
我的考虑是对的吗?
我在.Net框架中使用类SignedXml时尝试指定这样的URI。方法ComputeSignature
以CryptoGraphicsException:Malformed reference element
失败。
我认为SignedXml不支持XPath吗?