前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CDN开启OCSP Stapling功能为何不生效?

CDN开启OCSP Stapling功能为何不生效?

原创
作者头像
mengmye
修改2021-05-12 15:35:59
3.7K1
修改2021-05-12 15:35:59
举报
文章被收录于专栏:腾讯云 CDN 专家服务

背景:

对于一个可信任的 CA 机构颁发的有效证书,在证书到期之前,只要 CA 没有将其吊销,那么这个证书就是有效可信任的。有时,由于某些特殊原因(比如私钥泄漏,证书信息有误,CA 有漏洞被黑客利用,颁发了其他域名的证书等等),需要吊销某些证书。那浏览器或者客户端如何知道当前使用的证书已经被吊销了呢,通常有两种方式:CRL(Certificate Revocation List,证书吊销列表)和 OCSP(Online Certificate Status Protocol,在线证书状态协议)

1、CRL

CRL 是由 CA 机构维护的一个列表,列表中包含已经被吊销的证书序列号和吊销时间。浏览器可以定期去下载这个列表用于校验证书是否已被吊销。可以看出,CRL 只会越来越大,而且当一个证书刚被吊销后,浏览器在更新 CRL 之前还是会信任这个证书的,实时性较差。在每个证书的详细信息中,都可以找到对应颁发机构的 CRL 地址。

2、OCSP

OCSP 是一个在线证书查询接口,它建立一个可实时响应的机制,让浏览器可以实时查询每一张证书的有效性,解决了 CRL 的实时性问题,但是 OCSP 也引入了一个性能问题,某些客户端会在 SSL 握手时去实时查询 OCSP 接口,并在得到结果前会阻塞后续流程,这对性能影响很大,严重影响用户体验。(OCSP 地址也在证书的详细信息中)

OCSP Stapling 就是为了解决 OCSP 性能问题而生的,其原理是:在 SSL 握手时,服务器去证书 CA 查询 OCSP 接口,并将 OCSP 查询结果通过 Certificate Status 消息发送给浏览器,从而让浏览器跳过自己去验证的过程而直接拿到结果,OCSP 响应本身有了签名,无法伪造,所以 OCSP Stapling 既提高了效率也不会影响安全性。另外服务器有更好的网络,能更快地获取到 OCSP 结果,同时也可以将结果缓存起来,极大的提高了性能、效率和用户体验。

问题描述:

域名开启OCSP Stapling,但测试未生效

原因分析:

在分析原因前,可以通过如下图了解下CDN OCSP的工作原理

1、查看域名配置,确实有开启OCSP装订配置

ps:官网功能说明链接 https://cloud.tencent.com/document/product/228/41690

2、验证OCSP功能是否有生效(为了方便大家理解ocsp的原理,如下按照ocsp验证的逻辑进行逐步确认。快速简单定位的方案见附录

2.1 获取OCSP需要用到的证书信息

openssl s_client -connect a.z-4.cn:443 -servername a.z-4.cn 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' > a.z-4.pem

2.2 检查证书是否具有OCSP URI

如下所示,域名有开启OCSP(url:http://ocsp.int-x3.letsencrypt.org)

openssl x509 -noout -ocsp_uri -in a.z-4.pem

2.3 获取OCSP需要用到的证书链信息

openssl s_client -connect a.z-4.cn:443 -servername a.z-4.cn -showcerts 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/{p}'|fgrep 'END CERTIFICATE-' -A 100|grep 'BEGIN CERTIFICATE' -A 100 > a.z-4_chain.pem

2.4 发送OCSP请求

openssl ocsp -issuer a.z-4_chain.pem -cert a.z-4.pem -text -url "http://ocsp.int-x3.letsencrypt.org" -header "host" "ocsp.int-x3.letsencrypt.org"

从响应结果看,连接超时,OCSP服务器无法正常响应。

ps:通过香港CVM测试正常

解决方案:

建议客户使用腾讯云官网免费证书。

我司证书是使用亚洲诚信机构颁发的,OCSP地址为http://statuse.digitalcertvalidation.com,经测试在全国主要电信运营商均可以正常访问。

如域名h5.abc139.cn,OCSP功能验证正常。

附录:快速简单确认的办法

1、ocsp在线检测工具:https://www.getssl.cn/ocsp

若OCSP功能正常,检测信息如下所示:

2、查看域名OCSP 地址:

可直接访问该地址,或ping 域名确认该地址能否成功访问。

ping ocsp.int-x3.letsencrypt.org

curl -voa 'http://ocsp.int-x3.letsencrypt.org'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档