2016-04-14 11 views
2

Когда SignedXml.CheckSignature(AsymmetricAlgorithm key) возвращает true (или false), что именно представляет это представление?Что представляет собой логическое значение, возвращаемое SignedXml.CheckSignature?

Означает ли это, что действует Signature; или что независимо от того, какой объект Signature вы создали, когда вы снова попытались создать Signature?

+0

Я чувствую себя вынужденным указать вам [документацию] (https://msdn.microsoft.com/en-us/library/ms148731%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396) – Jonesopolis

ответ

1

SignedXml.CheckSignature(AsymmetricAlgorithm key) делает три проверки:

  1. Проверяет, что хэш SignedInfo в подписи за подписью прилагаемого ключа. Это гарантирует, что данные отправляются с соответствующим открытым ключом.
  2. Проверяет правильность хеша в SignedInfo. Это гарантирует, что содержимое блока Signature не было подделано.
  3. Проверяет правильность перечня всех ссылок после применения перечисленных преобразований. Это гарантирует, что данные, защищенные подписью, не будут подделаны.

Обратите внимание, что вы на данный момент не знаете, какие данные фактически подписаны - это могут быть только части документа. Прежде чем доверять данным, вы также должны будете validate the signatures.