全球领先

认证服务商

国家首批首批CA机构

官方、权威、可信

Nginx实现OCSPStapling的方法

OCSP(OnlineCertificateStatusProtocol,在线证书状态协议)是用来检验证书合法性的在线查询服务,一般由证书所属CA提供。

在实际应用中,某些客户端会在TLS握手阶段进一步协商时,实时查询OCSP接口,并在获得结果前阻塞后续流程。OCSP查询本质是一次完整的HTTP请求—响应,这中间DNS查询、建立TCP、服务端处理等环节都可能耗费很长时间,导致最终建立TLS连接时间变得更长。

而OCSPStapling,是指服务端主动获取OCSP查询结果并随着证书一起发送给客户端,从而让客户端跳过自己去验证的过程,提高TLS握手效率。

那么,在我们常用的Nginx模式下,如何实现OCSPStaplin呢?小威将从四个方面为您讲述。

  一、要求

Nginxversion1.3.7以上

  二、自动OCSPStapling

1、在Nginx.conf添加如下到您的https配置下

ssl_staplingon;

ssl_stapling_verifyon;

resolver8.8.8.88.8.4.4valid=300s;

resolver_timeout5s;

ssl_trusted_certificateca.pem;

其中ca.pem为证书链中两张中级CA证书

2、验证OCSPStapling状态

openssls_client-connectlocalhost:443-tlsextdebug–status

已开启

OCSPresponse:

OCSPResponseData:

OCSPResponseStatus:successful(0x0)ResponseType:BasicOCSPResponse

……

未开启

OCSPresponse:noresponsesent

  三、手动OCSPStapling

1、获取OCSP地址

opensslx509-inserver.pem-noout-ocsp_uri

2、生成stapling.ocsp

opensslocsp-CAfile root.pem-issuer ca.pem-cert server.pem-urlhttp://ss.symcd.com-text-respout./stapling.ocsp

其中root.pem为两张中级CA证书和顶级根证书,ca.pem为两张中级CA证书,server.pem为服务器证书,顶级根证书请联系技术人员获取(下载连接:xx)。

注:stapling.ocsp需每次在update到期之前更新

3、在Nginx.conf添加如下内容到您的https配置下

ssl_staplingon;

ssl_stapling_verifyon;

resolver8.8.8.88.8.4.4valid=300s;

resolver_timeout5s;

ssl_trusted_certificateca.crt;

ssl_stapling_filestapling.ocsp;

其中ca.pem中为两张中级CA证书。

4、验证OCSPStapling状态

openssls_client-connectlocalhost:443-tlsextdebug–status

已开启

OCSPresponse:

OCSPResponseData:

OCSPResponseStatus:successful(0x0)ResponseType:BasicOCSPResponse

……

未开启

OCSPresponse:noresponsesent

  四、启用OCSPStapling的条件

在Nginx中配置ssl_staplingon并reload后,Nginx并不会马上获取OCSPResponse,它要等第一个请求过来,再发起异步OCSP请求,所以刚开始几个响应,很可能不带OCSPStapling。另外,有时候由于OCSP域名无法解析,或者服务器无法访问造成OCSPResponse获取失败,也会导致OCSPStapling无法生效。

最新文章:

在线咨询

您好,请问有什么可以帮助您?

SSL证书/代码(数字)签名证书/https证书

天威诚信数字签名证书和SSL证书价格是多少