Skip to content

验证数字签名

验证数字签名包含两个部分:验证签名有效和验证证书可信。

  • 签名有效代表文档未被篡改.
  • 证书可信代表签名者是可信任的。

一般来说,签名有效且证书可信才代表一个签名验证通过。

验证数字签名关键代码如下:

C#
foreach (var signature in document.GetSignatureList())
{
    signature.VerifySignatureWithDocument(document);
    foreach (var signer in signature.SignerList)
    {
        Console.WriteLine("Is the certificate trusted: " + signer.IsCertTrusted.ToString());
        Console.WriteLine("Is the signature verified: " + signer.IsSignVerified.ToString());
        // 根据验证结果采执行相应的操作。
        if (signer.IsCertTrusted && signer.IsSignVerified)
        {
            // 签名有效并且证书可信。
            // 执行相应的操作。
         }
         else if (!signer.IsCertTrusted && signer.IsSignVerified)
         {
              // 签名有效但证书不可信。
              // 执行相应的操作。
         }
         else
         {
               // 签名无效。
               // 执行相应的操作。
          }
      }
}