如何在客户端处理传统OCSP和OCSP装订

如何在客户端处理传统OCSP和OCSP装订,c,openssl,ssl-certificate,ocsp,C,Openssl,Ssl Certificate,Ocsp,目前,我有一个实现,我在verify\u回调(int preverify\u ok,X509\u STORE\u CTX*X509\u CTX)函数中为每个中间和最终实体证书发送一个OCSP请求。verify\u callback函数是使用SSL\u CTX\u set\u verify()函数设置的 现在,我想将OCSP装订添加到我的实现中。我看到了关于如何包括OCSP装订的帖子 添加上述OCSP回调的问题是,在OCSP装订回调函数之前首先调用verify_callback() 我的问题是,如

目前,我有一个实现,我在
verify\u回调(int preverify\u ok,X509\u STORE\u CTX*X509\u CTX)函数中为每个中间和最终实体证书发送一个OCSP请求。
verify\u callback
函数是使用
SSL\u CTX\u set\u verify()函数设置的

现在,我想将OCSP装订添加到我的实现中。我看到了关于如何包括OCSP装订的帖子

添加上述OCSP回调的问题是,在OCSP装订回调函数之前首先调用
verify_callback()

我的问题是,如果没有来自服务器的OCSP绑定响应,那么客户机将自己发送OCSP请求,那么如何将这两个请求都包含在内


在到达
verify_callback()
函数之前,是否有方法检查OCSP装订是否受支持?

我不确定这是否有意义。OCSP绑定的要点是将响应附加到初始TLS握手中,参见。因此,TLS握手的有效性必须在评估其内容之前确定。因此,OpenSSL首先触发
verify_callback()
以验证握手本身,然后(如果握手有效)触发OCSP回调函数以允许您验证握手中包含的其他数据

否则,如果TLS握手失败,您为什么需要提交任何传统的OCSP请求

如果您坚持手动向第三方提交OCSP请求,则需要在TLS握手完成后(可能在您发送该连接的任何进一步数据或处理您收到的任何数据之前)完成此操作。或者在您尝试连接到远程服务器之前(当然,前提是您事先知道证书)——此工作流不再需要使用OCSP装订