SignedXml.CheckSignature返回的布尔实际代表什么?

时间:2016-04-14 20:39:56

标签: c# ws-security signedxml

SignedXml.CheckSignature(AsymmetricAlgorithm key)返回true(或false)时,这表示这代表什么?

这是否意味着Signature有效;或者当您尝试再次创建Signature时,您创建的任何Signature对象都匹配?

1 个答案:

答案 0 :(得分:1)

SignedXml.CheckSignature(AsymmetricAlgorithm key)执行三项检查:

  1. 检查签名中SignedInfo的哈希是否由提供的密钥签名。这样可以确保数据来自具有相应公钥的发件人。
  2. 检查SignedInfo中的哈希值是否正确。这可确保Signature块的内容未被篡改。
  3. 应用列出的转换后,检查所有引用的摘要是否正确。这可确保签名保护的数据不会被篡改。
  4. 请注意,此时您不知道实际签署了哪些数据 - 它可能只是文档的一部分。在信任数据之前,您还必须validate the signatures