【Foxit PDF SDK】signature_demo中的sub_filter这个是什么意思?在做签名的时候有什么用?

– 在使用默认算法加密和不使用默认算法加密的时候都有这个sub_filter?如果不使用默认算法的自己编写算法的话是不是可以对应的修改sub_filter这个值?

   adbe.pkcs7.sha1 及adbe.pkcs7.detached指定了签名使用的摘要及签名算法,如何选择根据使用场景来决定:

   摘要算法:sha1,sha384,sha256…

   签名算法:pkcs7,pkcs7,pkcs7…

   使用的filter:adbe.pkcs7.sha1 ,adbe.pkcs7.detached,adbe.pkcs7.detached…

– 两个filter的区别:

    1.pkcs7.sha1的pkcs7结构体包含摘要,即应用层需先使用sha1计算出摘要后,作为签名算法的输入

         pkcs7.detached的pkcs7结构体不包含摘要, 应用层传入整个明文作为签名算法的输入

    2.pkcs7.sha1只能对应sha1摘要算法,而pkcs7.detached可以对应多个

 – subfilter adbe.pkcs7.sha1 及adbe.pkcs7.detached 签名过程如何选择摘要算法:

    1. 使用证书的摘要算法。证书中包含了摘要算法信息

    2. 用户指定摘要算法(覆盖证书中的信息)

 – subfilter adbe.pkcs7.sha1 及adbe.pkcs7.detached的签名验证

    验证签名时,如果签名是adbe.pkcs7.detached,实现时需依次校验sha1、sha256, sha384等摘要算法

    如果签名是adbe.pkcs7.sha1, 则只需校验sha1

 – pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

   一般私钥加密,公钥解密,在加密和解密过程中体现出来唯一性与完整性。