
就在线安全而言,OCSP 订书钉是一项关键技术,可提高 SSL/TLS 连接的速度和隐私性。利用它,网站可以更有效地提供证书信息,从而提高网站性能和用户体验。
在本文中,我们将探讨什么是 OCSP stapling、它有哪些优点、如何工作以及为什么它已成为 SSL 优化的重要组成部分。
目录
- 什么是 OCSP 订书钉?
- 为什么要开发 OCSP 订书钉?
- OCSP 订书机如何工作?
- OCSP 加钉的主要优势
- OCSP 与 OCSP 加钉的区别
- OCSP 装订的替代方案:OCSP 必须装订
- OCSP 订书钉的缺点
- 如何启用 OCSP 订书钉?

什么是 OCSP 订书钉?
OCSP 订书钉是 SSL/TLS 协议该功能允许网络服务器在SSL 握手过程中直接向网络浏览器等客户端发送OCSP(在线证书状态协议)响应。传统上,网络客户端会查询 证书颁发机构(CA)来验证网站SSL 证书的状态。然而,OCSP 订书机改变了这一过程,允许服务器将最近的 OCSP 响应 “订入 “其 SSL 握手过程中,从而消除了客户端与 CA 交互的需要。
OCSP 协议本身旨在通过OCSP 应答器提供状态更新,确保 SSL 证书仍然有效,没有被撤销。它可以替代传统的证书吊销列表来检查有效性。通过启用 OCSP 订书机,网站所有者可以最大限度地减少对外部请求的需求,提供更快、更私密的 SSL 验证过程。
为什么要开发 OCSP 订书钉?
引入 OCSP stapling 是为了解决传统 OCSP检查的几个问题,主要是延迟和隐私问题,以及有效识别已撤销证书的问题。
使用传统的 OCSP 方法,客户端(如网络浏览器)每次需要验证 SSL 证书时,都必须向证书颁发机构发送 OCSP 查询,以确认证书的有效性。这种直接查询通常会导致加载时间变慢,因为浏览器必须等待外部服务器的响应。此外,直接的 OCSP 请求会将客户端的活动暴露给 CA,从而产生隐私风险。
OCSP stapling 的开发就是为了解决这些问题,它允许网络服务器本身获取并缓存 OCSP 响应。这样,服务器就可以直接向客户提供有效的 OCSP 响应,而无需单独的验证步骤,从而减少了延迟并保护了客户隐私。
OCSP 订书机如何工作?
这个过程简单而有效。下面是分步说明:
- 服务器请求:网络服务器定期向证书颁发机构请求 OCSP 响应。该响应会显示证书的吊销状态并确认其有效性。
- 缓存响应:服务器会缓存此 OCSP 响应,以便在一定时间内(通常为 24 小时)多次使用。服务器稍后将向连接的客户端提供缓存响应。
- 标记响应:当客户端尝试建立 SSL 连接时,服务器会将缓存的 OCSP 响应作为SSL 握手的一部分。这种装订响应可向客户端确认 SSL 证书仍然有效,而不需要额外的 CA 请求。
- 客户端验证:客户端(如网络浏览器)在 SSL 握手过程中验证装订的 OCSP 响应。如果响应有效且是最新的,客户端无需直接与 CA 核对即可完成连接。
通过装订 OCSP 响应,服务器可以减少延迟,提高 SSL 握手速度,使连接更快、更安全。
OCSP 订书钉的主要优势
使用它可以为网站性能和用户隐私带来诸多好处:
- 降低速度和延迟:通过直接提供 OCSP 响应,服务器无需向 CA 发出单独请求,从而减少了延迟并加快了 SSL 握手。
- 增强用户隐私:直接 OCSP 请求允许证书颁发机构查看哪些客户正在访问特定网站。通过使用 OCSP 订书机,这些信息不再共享,从而保护了用户隐私。
- 减轻证书颁发机构(CA)的负担:它最大限度地减少了证书颁发机构必须处理的请求量,提高了证书颁发机构系统的可靠性和响应速度。
这些优势使其成为增强 SSL 连接的强大工具,越来越受到网站所有者和管理员的青睐。
OCSP 与 OCSP 加钉的区别
了解传统 OCSP和 OCSP stapling 之间的区别对于理解为什么现代 SSL 实施更倾向于使用 OCSP stapling 至关重要。
在传统的 OCSP 设置中,客户端直接查询CA 以验证证书状态。这一过程虽然有效,但会导致加载时间变慢,因为每次查询都会引入一个新的外部请求。此外,传统的 OCSP 会向 CA 暴露客户端的 IP 地址,这可能会引起隐私问题。
而使用 OCSP 订书机时,服务器会代表客户处理OCSP 响应请求。它直接从 CA 获取并缓存数字证书的状态,从而将此响应 “装订 “到 SSL 握手中。这样,客户端无需额外请求即可获得证书验证,从而实现更快、更私密的 SSL 验证。
OCSP 装订的替代方案:OCSP 必须装订
对于需要额外一层 SSL 安全性的网站来说,OCSP Must-Staple是一个令人信服的替代方案。该功能要求服务器在 SSL 握手过程中始终包含有效的 OCSP 响应。OCSP Must-Staple 为 SSL 证书本身添加了一个安全指令,指示浏览器在服务器未提供装订的 OCSP 响应时拒绝证书。
OCSP 必须封装的主要优势
- 确保最新证书验证:标准 OCSP 装订可能会提供过时的 OCSP 响应,而 OCSP 必须装订则不同,它要求响应既有效又是最新的。这可确保对证书状态的更高信任度。
- 提高安全标准:通过强制执行 OCSP 装订,OCSP Must-Staple 降低了无效证书不被客户端发现的风险,因此非常适合优先考虑高安全标准的网站。
虽然OCSP Must-Staple提供了更高的安全性,但它可能并不适合所有网站。例如,规模较小的网站或没有高安全性需求的网站可能会认为标准的 OCSP 装订设置就足够了。

OCSP 订书钉的缺点
虽然 OCSP 订书机提供了显著的优势,但也必须考虑潜在的缺点和限制。
- 服务器依赖性:由于 OCSP 响应由服务器提供,因此服务器负责定期更新和缓存有效响应。如果 OCSP 响应过时或无效,可能会影响 SSL 握手。
- 兼容性问题:一些旧版客户端可能不完全支持 OCSP 装订,从而导致潜在的兼容性问题。不过,大多数现代浏览器和设备都能处理装订的 OCSP 响应。
- 单点故障:如果 OCSP 装订机制出现问题,可能会阻止客户端确认 SSL 证书状态,从而中断用户访问。
如何启用 OCSP 订书钉?
下面,我们提供了在常用的 Windows、Apache 和 Nginx 服务器上启用 OCSP 装订的说明。
在 Windows 上启用 OCSP 订书钉
Windows Server 2008 及更高版本默认启用 OCSP 装订。 如果运行的是较早版本的 Windows Server,则无法启用该功能。 请升级到 Windows 2008 或更高版本。
在 Apache 上启用 OCSP 订书钉
Apache 从 Apache HTTPD Web Server 2.3.3+ 开始支持 OCSP 订书钉。 如果不知道运行的是哪个版本,请使用以下命令:
apache2 -v
httpd -v
接下来,检查是否启用了 OCSP。 请按照以下步骤操作:
- 在 OpenSSL 中输入以下命令:
openssl.exe s_client -connect[yourdomain .com]:443 -status
如果启用了 OCSP,您将在 OCSP 响应数据部分收到以下响应:”OCSP 响应状态:成功 (0x0)”。 如果未启用 OCSP,则不会看到任何 OCSP 响应数据。 在这种情况下,请确保中间证书已正确安装。 - 验证 Apache 服务器是否已成功连接到 OCSP 服务器。 运行以下命令
curl ocsp.digicert.com/ping.html - 要启用 OCSP 订书钉,需要使用自己选择的编辑器编辑网站的虚拟主机配置文件(your-domain.com-ssl.conf)。 配置文件通常位于以下目录:etc/apache2/sites-available/your-domain.com-ssl.conf
- 打开文件并进行以下更改:
- 在<VirtualHost> 标记内添加以下行:
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off - 在标记内添加一行,指向可信证书链文件。 其中必须按顺序包含中间证书和根证书:
SSLCACertificateFile /etc/apache2/ssl/full_chain.pem - 在<VirtualHost> 标记外添加以下一行:
SSLStaplingCache shmcb:/var/run/ocsp(128000)
- 在<VirtualHost> 标记内添加以下行:
- 测试配置:
apachectl -t - 重启 Apache 服务器
apachectl restart
在 NGINX 上启用 OCSP 钉书机功能
它适用于 NGINX 13.7 或更高版本。 检查您的 NGINX 网络服务器版本:
nginx-v
使用以下 OpenSSL 命令行:
- 检查是否已启用。 在 OpenSSL 中运行以下命令:
openssl s_client -connect[yourdomain .com]:443 -status - 如果启用了 OCSP,则 OCSP 响应数据部分应显示OCSP 响应状态:成功 (0x0)
- 如果未启用,则不会看到任何 OCSP 响应数据。 如果没有收到已启用 OCSP 的确认,请使用本故障排除指南。
- 要启用它,首先要编辑网站的服务器块配置文件(如果不使用服务器块,则编辑 nginx.conf):
nano /etc/nginx/sites-enabled/my-domain.com-ssl.conf
或
nano /etc/nginx/nginx.conf
注意:如果只需在一个服务器块上启用,则必须是 “default_server”。 如果需要在多个服务器块上启用,则必须先在 “默认服务器 “上启用。 然后就可以在任何其他服务器模块上启用它。 - 打开 OCSP 订书机功能,并通过在服务器块内添加以下两行启用服务器检查 OCSP 订书机功能:
ssl_staplingon;
ssl_stapling_verifyon; - 指明包含中间证书和根证书的受信任证书链文件顺序:
ssl_trusted_certificate/etc/nginx/ssl/full_chain.pem - 检查配置:
sudoservice nginx configtest - 重启 NGINX:
sudoservice nginx reload
底线
在SSL Dragon,我们致力于帮助您驾驭复杂的SSL/TLS 安全性,为您的用户提供最佳的浏览体验。OCSP Stapling是一种强大的工具,可提高 SSL 连接的速度和隐私性,是现代网站的一项基本功能。
我们提供多种支持 OCSP Stapling 的 SSL 证书,确保您的网站达到最高的速度和安全标准。今天就开始优化您的 SSL 设置,体验更快、更安全的连接带来的不同。
