PKCS7验证功能有签名
int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags);
其中certs is a set of certificates in which to search for the signer's certificate.
为什么OpenSSL使用STACK_OF()
来获取这个"证书集",即为什么类似堆栈的排序?不是X509_STORE
适合的类型吗?
答案 0 :(得分:0)
为什么OpenSSL使用STACK_OF()来获得这个"一组证书",即为什么类似堆栈的排序?不是X509_STORE适合的类型吗?
PKCS7_verify()验证PKCS#7 signedData结构... certs是a 用于搜索签名者证书的证书集。 store是受信任的证书存储区(用于链验证)。 如果p7中没有内容,则indata是签名数据(即 它是分离的。)
如果我没有记错,(1)certs
是最终实体证书的集合。它是一个你信任的人的名单"。 (2)store
是CA证书的集合。它列出了你委托给谁的#34;。
项目(1)和(2)并不完全相同。我不清楚他们是否/如何相交,因为我不经常使用CMS和PKCS#7。从带括号的"链验证" ,我们知道他们正在讨论公共和私人PKI以及路径构建。从臀部拍摄,我猜测它的信任网(第(1)项)与PKI等级(第(2)项)。