gpt4 book ai didi

c - openssl X509_verify_cert() 是否验证证书中的签名?

转载 作者:IT王子 更新时间:2023-10-29 01:10:26 38 4
gpt4 key购买 nike

执行 openssl X509_verify_cert() API 验证证书中的 RSA 签名 ?

据我了解,该 API 仅检查证书有效性(如日期检查等)。

有人请澄清一下吗?

最佳答案

API X509_verify_cert() 根据您在 X509_store 结构中设置的验证标志进行验证。使用此 API,您可以验证证书
1.到期
2.Issuer(信任路径)
2.1 中间证书到期,
2.2 中间证书信任链,
2.3 中间证书撤销,
3.根据CRL吊销证书
3.1 CRL 过期
3.2 CRL信任路径
(注意:验证 CRL 你至少需要 store_ctx 变量中的一个证书)
4.信任链的深度
5.证书签署

x509_vfy.h 文件中提到了用于不同验证的标志

        /* Send issuer+subject checks to verify_cb */
#define X509_V_FLAG_CB_ISSUER_CHECK 0x1
/* Use check time instead of current time */
#define X509_V_FLAG_USE_CHECK_TIME 0x2
/* Lookup CRLs */
#define X509_V_FLAG_CRL_CHECK 0x4
/* Lookup CRLs for whole chain */
#define X509_V_FLAG_CRL_CHECK_ALL 0x8
/* Ignore unhandled critical extensions */
#define X509_V_FLAG_IGNORE_CRITICAL 0x10
/* Disable workarounds for broken certificates */
#define X509_V_FLAG_X509_STRICT 0x20
/* Enable proxy certificate validation */
#define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40
/* Enable policy checking */
#define X509_V_FLAG_POLICY_CHECK 0x80
/* Policy variable require-explicit-policy */
#define X509_V_FLAG_EXPLICIT_POLICY 0x100
/* Policy variable inhibit-any-policy */
#define X509_V_FLAG_INHIBIT_ANY 0x200
/* Policy variable inhibit-policy-mapping */
#define X509_V_FLAG_INHIBIT_MAP 0x400
/* Notify callback that policy is OK */
#define X509_V_FLAG_NOTIFY_POLICY 0x800
/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */
#define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000
/* Delt1a CRL support */
#define X509_V_FLAG_USE_DELTAS 0x2000
/* Check selfsigned CA signature */
#define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000

关于c - openssl X509_verify_cert() 是否验证证书中的签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495903/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com