這里,我將介紹什么是 OCSP Stapling 以及為什么要開啟它。
在線證書狀態(tài)協(xié)議(Online Certificate Status Protocol),簡稱 OCSP,是一個用于獲取 X.509 數(shù)字證書撤銷狀態(tài)的網(wǎng)際協(xié)議,在 RFC 6960 中定義。OCSP 用于檢驗證書合法性,查詢服務(wù)一般由證書所屬 CA 提供。OCSP 查詢的本質(zhì),是一次完整的 HTTP 請求加響應(yīng)的過程,這中間涵括的 DNS 查詢、建立 TCP 連接、Web 端工作等步驟,都將耗費更多時間,使得建立 TLS 花費更多時長。
而這時,OCSP Stapling 出現(xiàn)了。經(jīng)由 OCSP Stapling(OCSP 封套),Web 端將主動獲取 OCSP 查詢結(jié)果,并隨證書一起發(fā)送給客戶端,以此讓客戶端跳過自己去尋求驗證的過程,提高 TLS 握手效率。
生成 OCSP Stapling 文件
經(jīng)過以下步驟生成所需的用于 OCSP Stapling 驗證的文件
首先,需要準備三份證書:
站點證書(website.pem)+ 根證書(root.pem)+ 中間證書(intermediate.pem)
中間證書和根證書,需要根據(jù)你的證書的 CA,去下載對應(yīng)的證書
以下列出了 Let's Encrypt 的中間證書和根證書的下載地址:
根證書:
DST Root CA X3 https://ssl-tools.net/certificates/dac9024f54d8f6df94935fb1732638ca6ad77c13.pem
ISRG Root X1 https://letsencrypt.org/certs/isrgrootx1.pem
中間證書:
Let's Encrypt Authority X1 https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
Let's Encrypt Authority X2 https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.pem
Let's Encrypt Authority X3 https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
Let's Encrypt Authority X4 https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.pem
這里以 DST Root CA X3 根證書 + Let's Encrypt Authority X3 中間證書 為例(現(xiàn)在 Let's Encrypt 簽發(fā)的證書基本都是這樣的組合):
# 下載根證書和中間證書wget -O root.pem https://ssl-tools.net/certificates/dac9024f54d8f6df94935fb1732638ca6ad77c13.pemwget -O intermediate.pem https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem# 生成 OCSP Stapling 驗證文件# 注意,中間證書在上、根證書在下cat cat intermediate.pem > chained.pemcat root.pem >> chained.pem
這樣,生成的 chained.pem 就是所需的 OCSP Stapling 驗證文件。
OCSP Stapling Response
openssl x509 -in website.pem -noout -ocsp_uri
使用這個命令后,返回你的證書對應(yīng)的 OCSP 服務(wù)地址
例如,Let's Encrypt 現(xiàn)在的 OCSP 服務(wù)地址是 http://ocsp.int-x3.letsencrypt.org/
以 Let's Encrypt 為例,獲取站點證書的 OCSP Response
openssl ocsp -no_nonce / -issuer intermediate.pem / -CAfile chained.pem / -VAfile chained.pem / -cert website.pem / -url http://ocsp.int-x3.letsencrypt.org / -text
若沒有錯誤,會返回如下:
Response verify OK
website.pem: good
This Update: Oct 24 00:00:41 2017 GMT
Next Update: Oct 31 00:00:41 2017 GMT
Nginx 啟用 OCSP Stapling
新聞熱點
疑難解答