Expect-CT 頭

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

Expect-CT 響應頭允許站點選擇啟用證書透明度 (CT) 要求的報告和/或強制執行。證書透明度 (CT) 旨在防止該站點誤發的證書被 undetected。

只有 Google Chrome 和其他基於 Chromium 的瀏覽器實現了 Expect-CT,並且 Chromium 從版本 107 開始棄用了該頭,因為 Chromium 現在預設強制執行 CT。請參閱 Chrome 平臺狀態更新。

CT 要求可以透過以下任一機制滿足:

  • X.509v3 證書擴充套件,允許嵌入由單個日誌頒發的簽名證書時間戳。大多數由公共信任的 CA 頒發並在線使用的 TLS 證書都包含嵌入式 CT。
  • 在握手期間傳送的型別為 signed_certificate_timestamp 的 TLS 擴充套件
  • 支援 OCSP 裝訂(即 status_request TLS 擴充套件)並提供 SignedCertificateTimestampList

注意:當一個站點啟用 Expect-CT 頭時,它是在請求瀏覽器檢查該站點的任何證書是否出現在公共 CT 日誌中。

注意:瀏覽器會忽略透過 HTTP 傳送的 Expect-CT 頭;該頭僅在 HTTPS 連線上有效。

注意:Expect-CT 自 2021 年 6 月起基本已過時。自 2018 年 5 月起,所有新的 TLS 證書都應預設支援 SCT。2018 年 3 月之前頒發的證書允許有 39 個月的生命週期,因此它們已於 2021 年 6 月到期。Chromium 計劃棄用 Expect-CT 頭並最終將其刪除。

頭型別 響應頭
禁止請求頭

語法

http
Expect-CT: report-uri="<uri>",
           enforce,
           max-age=<age>

指令

max-age

接收到 Expect-CT 頭欄位後,使用者代理應將接收訊息的主機視為已知 Expect-CT 主機的秒數。

如果快取接收到的值大於它可以表示的值,或者其任何後續計算溢位,則快取將此值視為 2,147,483,648 (2^31) 或它可以表示的最大正整數。

report-uri="" 可選

使用者代理應報告 Expect-CT 故障的 URI。

當與 enforce 指令一起出現時,該配置被稱為“強制執行和報告”配置,它向用戶代理表明應強制執行證書透明度策略的合規性並且應報告違規行為。

enforce 可選

向用戶代理發出訊號,表明應強制執行證書透明度策略的合規性(而不僅僅是報告合規性),並且使用者代理應拒絕違反其證書透明度策略的未來連線。

enforce 指令和 report-uri 指令同時存在時,該配置被稱為“強制執行和報告”配置,它向用戶代理表明應強制執行證書透明度策略的合規性並應報告違規行為。

示例

以下示例指定強制執行證書透明度 24 小時並將違規情況報告給 foo.example.com

http
Expect-CT: max-age=86400, enforce, report-uri="https://foo.example.com/report"

注意

手動新增到信任儲存的根 CA 會覆蓋並抑制 Expect-CT 報告/強制執行。

除非站點“證明”它可以提供滿足證書透明度要求的證書,否則瀏覽器不會記住 Expect-CT 策略。瀏覽器實現了自己的信任模型,用於確定哪些 CT 日誌被認為是可信的,以便證書被記錄。

Chrome 的構建旨在在安裝構建日期後 10 周停止強制執行 Expect-CT 策略。

規範

規範
HTTP 的 Expect-CT 擴充套件
# 第 2.1 節

瀏覽器相容性

另見