【问题标题】:OpenSSL certificate revocation check in client program using OCSP stapling 2使用 OCSP 装订 2 在客户端程序中检查 OpenSSL 证书吊销
【发布时间】:2016-04-12 22:14:59
【问题描述】:

这几乎是要求提供有关该问题的其他信息: OpenSSL certificate revocation check in client program using OCSP stapling

我想知道 OpenSSL 是如何实际处理 OCSP 装订响应的。问题是:
1. OpenSSL 是否检查响应的签名、颁发者密钥/名称哈希?
2. 响应是否包括整个证书链的 OCSP 响应?如果是这样,有没有办法知道其中一个验证失败了?
3. 总而言之,我可以简单地依赖响应的“Cert Status:good”字段吗? :)

我担心黑客可能会使用已撤销(被盗)的证书制作 https 服务器,但在握手期间为由同一 CA 颁发者认证的随机网站提供有效的装订 OCSP 响应。 OpenSSL 能处理这种情况吗?

可在此处找到示例 OCSP 响应 https://www.feistyduck.com/library/openssl-cookbook/online/ch-testing-with-openssl.html#testing-ocsp-stapling

【问题讨论】:

标签: ssl openssl ocsp


【解决方案1】:

SSL_set_tlsext_status_typeDocumentation 表示回调必须确定 OCSP 响应是否可接受。

这意味着 OpenSSL 库本身不会对 OCSP 响应进行任何验证。但它是开源的,所以我们可以看看。 见OpenSSL source of s3_clnt.c on GitHub

该库将在 SSL 握手中验证消息类型是否正确,长度是否正确且响应是否完整,但根本不检查内容。

如果使用SSL_CTX_set_tlsext_status_cb 设置回调,则会调用回调,并且回调的返回码是唯一用于继续或中止 SSL 握手的内容。

响应数据将是 OCSP 响应的 DER 编码二进制字节。 OpenSSL 提供了解析该值并检查其内容的函数。

【讨论】:

    猜你喜欢
    • 2012-03-25
    • 2021-03-31
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 2017-05-26
    • 2019-04-23
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多