- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在用 C 语言为 SSL_CTX_set_verify()
编写自己的回调函数执行额外的证书检查(当 preverify_ok
参数为 1
时)。但是,我想仅对叶证书(深度 = 0)执行检查。
函数X509_STORE_CTX_get_error_depth()
得到错误的深度;但是即使没有错误我也想要当前深度,所以我只能在深度=0时执行额外的检查。 (请注意,函数 SSL_CTX_get_verify_depth()
返回深度 limit 并且不是当前深度。)
有什么办法可以做我想做的事吗?
最佳答案
不管名称如何,在验证过程中 error_depth
确实是当前正在检查的证书。请参阅 crypto/x509/x509_vfy.c
中 internal_verify
中的 while
循环。如果回调或任何内置检查——这里是签名或过期,在 X509_verify_cert
吊销、策略等其他地方——确定证书是坏的,验证逻辑返回 error_depth
留在导致验证返回的证书上,随后来自“上面”的调用找到标识“错误”证书的值。
关于c - SSL_CTX_set_verify() 回调和当前深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33248180/
我需要使用 OpenSSL 验证客户端证书。但是,我没有根证书(只有受信任的中间证书)。 我开始四处寻找如何做到这一点,并找到了几个链接: http://openssl.6102.n7.nabble.
我正在用 C 语言为 SSL_CTX_set_verify() 编写自己的回调函数执行额外的证书检查(当 preverify_ok 参数为 1 时)。但是,我想仅对叶证书(深度 = 0)执行检查。 函
谁能告诉我 SSL_CTX_set_cert_verify_callback 和 SSL_CTX_set_verify 有什么区别?来自 OpenSSL 文档: SSL_CTX_set_cert_ve
根据OpenSSL documentation , SSL_set_verify 和 SSL_CTX_set_verify 似乎都在做几乎相同的事情。 使用 Boost 库,我无法确定是否/何时需要调
我是一名优秀的程序员,十分优秀!