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_requestTLS 擴充套件)並提供SignedCertificateTimestampList
注意:當網站啟用 Expect-CT 標頭時,它們請求瀏覽器檢查該網站的任何證書是否出現在公共 CT 日誌 中。
注意:瀏覽器忽略透過 HTTP 的 Expect-CT 標頭;該標頭僅對 HTTPS 連線有效。
注意:Expect-CT 自 2021 年 6 月起基本上已過時。自 2018 年 5 月起,所有新的 TLS 證書都應預設支援 SCT。在 2018 年 3 月之前頒發的證書允許的有效期為 39 個月,因此它們已於 2021 年 6 月到期。Chromium 計劃棄用 Expect-CT 標頭,並最終將其刪除。
語法
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。
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 表僅在瀏覽器中載入