SignedXml.CheckSignature返回的布尔值到底代表什么?
What does the Boolean returned by SignedXml.CheckSignature actually represent?
当SignedXml.CheckSignature(AsymmetricAlgorithm key)
returnstrue
(或false
)时,这到底代表什么?
这是否意味着 Signature
有效?或者当您再次尝试创建 Signature
时,您创建的任何 Signature
对象都匹配吗?
SignedXml.CheckSignature(AsymmetricAlgorithm key)
进行三项检查:
- 检查签名中
SignedInfo
的散列是否由提供的密钥签名。这确保数据来自具有相应 public 密钥的发件人。
- 检查
SignedInfo
中的散列是否正确。这确保 Signature
块的内容未被篡改。
- 在应用列出的转换后,检查所有引用的摘要是否正确。这样可以保证签名保护的数据不被篡改。
请注意,此时您不知道实际签署了哪些数据 - 它可能只是文档的一部分。在信任数据之前,您还必须 validate the signatures.
当SignedXml.CheckSignature(AsymmetricAlgorithm key)
returnstrue
(或false
)时,这到底代表什么?
这是否意味着 Signature
有效?或者当您再次尝试创建 Signature
时,您创建的任何 Signature
对象都匹配吗?
SignedXml.CheckSignature(AsymmetricAlgorithm key)
进行三项检查:
- 检查签名中
SignedInfo
的散列是否由提供的密钥签名。这确保数据来自具有相应 public 密钥的发件人。 - 检查
SignedInfo
中的散列是否正确。这确保Signature
块的内容未被篡改。 - 在应用列出的转换后,检查所有引用的摘要是否正确。这样可以保证签名保护的数据不被篡改。
请注意,此时您不知道实际签署了哪些数据 - 它可能只是文档的一部分。在信任数据之前,您还必须 validate the signatures.