Expect-CT

已棄用:此功能不再推薦。儘管某些瀏覽器可能仍然支援它,但它可能已被從相關的 Web 標準中刪除,或者正在被刪除,或者可能僅出於相容性目的而保留。避免使用它,如果可能,請更新現有程式碼;請參見此頁面底部的相容性表 以指導您的決定。請注意,此功能可能隨時停止工作。

Expect-CT 標頭允許網站選擇加入證書透明度 要求的報告和/或執行。證書透明度 (CT) 旨在防止對該網站的錯誤頒發的證書的使用被忽視。

只有 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="<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 策略。

規範

規範
Expect-CT 擴充套件用於 HTTP
# section-2.1

瀏覽器相容性

BCD 表僅在瀏覽器中載入