– 在使用默认算法加密和不使用默认算法加密的时候都有这个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格式的数字证书里面只有公钥没有私钥。
一般私钥加密,公钥解密,在加密和解密过程中体现出来唯一性与完整性。