X509_STORE 和 X509_STORE_CTX 有啥区别?

Posted

技术标签:

【中文标题】X509_STORE 和 X509_STORE_CTX 有啥区别?【英文标题】:what is the difference between X509_STORE and X509_STORE_CTX .?X509_STORE 和 X509_STORE_CTX 有什么区别? 【发布时间】:2011-10-02 13:48:17 【问题描述】:

谁能告诉我证书信任链是如何用这些结构形成的,这两个结构代表什么?

【问题讨论】:

【参考方案1】:

取自x509vfy.h中的源代码:

X509_STORE 保存用于验证的表格等。 验证单个证书时使用 X509_STORE_CTX。 X509_STORE 具有用于查找证书的 X509_LOOKUP。 X509_STORE 然后调用一个函数来实际验证 证书链。

X509_STORE 或多或少代表您的全局证书验证设置,您可以在其中存储中间证书和 CRL。商店可以多次使用,而您设置 X509_STORE_CTX 只是为了执行一次验证,然后您丢弃/释放它。

将 X509_STORE 视为您的配置,将 X509_STORE_CTX 视为有状态的一次性对象。

如果您想亲自查看,我建议您下载源代码并查看 app/verify.c。

【讨论】:

以上是关于X509_STORE 和 X509_STORE_CTX 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

OpenSSL C API:使用CRL进行证书链验证

为什么X509_CRL_verify()失败?

X509_NAME_oneline返回的免费字符串

将 X.509 证书的主题名称解析到缓冲区

X509Store 证书问题。查找 FindByThumbprint

symbol X509_get_signature_nid, version libcrypto.so.10 not defined