为什么OpenSSL使用堆栈(X509)来验证签名?

为什么OpenSSL使用堆栈(X509)来验证签名?,openssl,certificate,Openssl,Certificate,PKCS7验证函数具有签名 int PKCS7_验证(PKCS7*p7,堆栈(X509)*证书,X509_存储*存储,BIO*indata,BIO*out,int标志) 其中,certs是一组用于搜索签名者证书的证书。 为什么OpenSSL对这个“证书集”使用STACK_OF(),也就是说,为什么像堆栈一样排序?X509\u STORE不适合这种类型吗 为什么OpenSSL对这个“证书集”使用STACK_OF(),也就是说,为什么像堆栈一样排序?X509_STORE不是适用于此的类型吗 从: P

PKCS7验证函数具有签名

int PKCS7_验证(PKCS7*p7,堆栈(X509)*证书,X509_存储*存储,BIO*indata,BIO*out,int标志)

其中,
certs是一组用于搜索签名者证书的证书。

为什么OpenSSL对这个“证书集”使用
STACK_OF()
,也就是说,为什么像堆栈一样排序?
X509\u STORE
不适合这种类型吗

为什么OpenSSL对这个“证书集”使用STACK_OF(),也就是说,为什么像堆栈一样排序?X509_STORE不是适用于此的类型吗

从:

PKCS7_verify()验证PKCS#7 signedData结构。。。certs是一个 要在其中搜索签名者证书的证书集。 存储是受信任的证书存储(用于链验证)。 如果p7中不存在内容(即 它是分离的)

如果我没有弄错的话,(1)
certs
是终端实体证书的集合。这是一张“你信任谁”的清单。(2)
存储
是CA证书的集合。这是一张“你信任谁”的清单

第(1)项和第(2)项不完全相同。我不清楚它们是否/如何相交,因为我不太经常使用CMS和PKCS#7。从括号中的“链验证”中,我们知道他们在谈论公共和私人PKI以及路径构建。从臀部拍摄,我猜测它的信任网(第(1)项)与PKI层次结构(第(2)项)

为什么OpenSSL对这个“证书集”使用STACK_OF(),也就是说,为什么像堆栈一样排序?X509_STORE不是适用于此的类型吗

从:

PKCS7_verify()验证PKCS#7 signedData结构。。。certs是一个 要在其中搜索签名者证书的证书集。 存储是受信任的证书存储(用于链验证)。 如果p7中不存在内容(即 它是分离的)

如果我没有弄错的话,(1)
certs
是终端实体证书的集合。这是一张“你信任谁”的清单。(2)
存储
是CA证书的集合。这是一张“你信任谁”的清单

第(1)项和第(2)项不完全相同。我不清楚它们是否/如何相交,因为我不太经常使用CMS和PKCS#7。从括号中的“链验证”中,我们知道他们在谈论公共和私人PKI以及路径构建。从臀部拍摄,我猜测它的信任网(第(1)项)与PKI层次结构(第(2)项)