gpt4 book ai didi

c++ - 在 openssl 中正确使用 OCSP_basic_verify()?

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:23 24 4
gpt4 key购买 nike

我一直在引用 https://github.com/openssl/openssl/blob/master/apps/ocsp.c创建我自己的 OCSP 实现并在我从 OCSP 响应者收到 OCSP 基本响应后验证它。但不知何故,每次运行迭代时,我都会收到错误 error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get issuer certificate。请注意,我有要验证的证书和颁发者证书的 X509 数据,我正在使用以下代码来验证响应:

         OCSP_BASICRESP *br = OCSP_response_get1_basic(resp); // where resp is the response received.
STACK_OF(X509)* certs = sk_X509_new_null();
if (!sk_X509_push(certs, issuer)) // issuer X509 known
printf("Failed to add issuer");

X509_STORE* store = X509_STORE_new();
X509_LOOKUP *lookup;
lookup = X509_STORE_add_lookup(store, X509_LOOKUP_file());
lookup = X509_STORE_add_lookup(store, X509_LOOKUP_hash_dir());
X509_STORE_add_cert(store,issuer);
ret_val = OCSP_basic_verify(br, certs, store, 0);
if (ret_val <= 0) {
printf("Response Verify Failure: %d", ret_val);

对于上面的代码,我一直将 ret_val 设置为 0,并记录了上述错误。但是,我从 OCSP 响应者那里得到了正确的响应,并且证书状态良好。唯一剩下的就是修复对 OCSP_basic_verify 的调用。有人可以指出我可能出错的地方吗?谢谢。

最佳答案

@Castaglia 提供的答案。

问题实际上是 OCSP_basic_verify 一直循环直到找到根 CA。但是由于我添加的证书只是中间证书,因此验证失败。添加整个链后,OCSP_basic_verify 调用开始进行

关于c++ - 在 openssl 中正确使用 OCSP_basic_verify()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43326756/

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