從 Firefox 設定檔中刪除所有憑證授權單位

從 Firefox 設定檔中刪除所有憑證授權單位

目的是僅信任儲存在硬碟上的特定設定檔的特定憑證。因此不需要證書頒發機構。

嘗試過但沒有成功:

  • 使用憑證管理員刪除所有 CA(Firefox 首選項的一部分)
  • cert9.db在個人資料中刪除
  • 清除cert9.db為 0 位元組並刪除所有權限標誌,以便 Firefox 無法變更它

所有這三項措施都會導致 CA 重新出現(儘管不一定在 中cert9.db,至少如果我刪除了對該文件的寫入權限;但仍然在 Firefox 的憑證管理器中)。

我想知道 CA 從哪裡來。如果 Firefox 錯過了它們,它會從互聯網上讀取它們嗎?我根本沒想到他們會再出現。

我怎樣才能防止這種行為?

答案1

有沒有辦法刪除 Firefox 中的所有 CA 憑證?

Firefox 使用 Mozilla 的國家安全局用於安全相關功能(例如 TLS)的程式庫。 NSS 有自己的內建 CA 存儲,Firefox 使用它來取得預設的 CA 憑證。

Mozilla 的常見問題解答

預先載入的 CA 憑證包含在以下文件中:

  • Windows:libnssckbi.dll
  • Unix、Linux 和其他 *nix 變體:libnssckbi.so
  • Mac OS X:目錄/MacOS/libnssckbi.dynlib

因此,不可能刪除所有 CA 證書,因為它們是 Firefox 本身的一部分。

是否可以取消所有 CA 憑證的信任?

Mozilla 的常見問題解答

如果您不信任 Mozilla 產品中預設包含根憑證的特定 CA,則有兩種方法可以停用該憑證。

  1. 關閉該根憑證的信任位元。
  2. 刪除根證書。
    • 刪除預設根儲存中的根憑證相當於關閉該根的所有信任位元。因此,即使根憑證將重新出現在憑證管理員中,它也會被視為您更改了該根憑證的信任位元以將其全部關閉。

重要的:此變更將產生永久影響,因此根憑證的信任位元只能由您再次變更。升級到較新版本的 Mozilla 軟體不會影響此變更。強烈建議您記下您修改的根證書,以便在更改對您的瀏覽體驗產生負面影響時可以重新開啟信任位。

因此,要不信任所有 CA 憑證:

  1. about:preferences#privacy
  2. 點擊View Certificates...頁面底部的
  3. 切換到選項卡Authorities
  4. 選擇證書
  5. 點選Delete or Distrust...
  6. 點選確認OK
  7. 對每個憑證重複步驟 4-6
  8. 重新啟動火狐瀏覽器

重新啟動 Firefox 後,您將看到所有預設憑證都重新出現。

為什麼 Firefox 重啟後 CA 憑證會不斷重新出現?

預設憑證無法刪除,因此 Firefox 只會不信任它們,這會導致它們無法用於驗證其他憑證。您可以選擇一個CA證書,然後按一下Edit Trust...查看,一旦您不信任它,就不會檢查任何內容。
不信任與刪除憑證本身有相同的效果,只是憑證仍會顯示在憑證管理員中。

了解更多:更改信任設定

答案2

Firefox 似乎在程式碼中內建了一些 CA。

申請/常見問題解答

這些預先載入的根 CA 憑證以共享庫的形式與 Mozilla 和相關軟體一起分發,該共享庫與其餘軟體可執行程式碼一起安裝在使用者係統上。因此,當新版本的軟體發佈時,它們可以被更新。

預先載入的 CA 憑證包含在以下文件中:

  • Windows:libnssckbi.dll
  • Unix、Linux 和其他 *nix 變體:libnssckbi.so
  • Mac OS X:目錄/MacOS/libnssckbi.dynlib

如果這些是您嘗試刪除的證書,那麼答案是否定的,因為它們內建在程式碼中並且不儲存在任何.db檔案中(首先)。您可能會嘗試破解這些文件,但即使成功,您也需要對每個新版本的 Firefox 重複破解。


我發現了另一個設置,它可能導致存儲由來自操作系統的證書填充,儘管可能僅針對 Windows 實現:security.enterprise_roots.enabled

目前還沒有關於如何about:config實施此設定的信息,但從文章中可以清楚地看出它仍在不斷發展。我建議測試它是否適合您的情況。

來自 Mozilla 文章 CA:AddRootToFirefox

從版本 49 開始,Firefox 可以透過實驗配置為自動搜尋和匯入已由使用者或管理員新增至 Windows 憑證儲存體中的 CA。為此,請設定首選項“security.enterprise_roots.enabled「 到真的。在此模式下,Firefox 將檢查 HKLM\SOFTWARE\Microsoft\SystemCertificates登錄位置(對應 API 標誌CERT_SYSTEM_STORE_LOCAL_MACHINE),以尋找可信任頒發 TLS Web 伺服器驗證憑證的 CA。任何此類 CA 都會被 Firefox 匯入並信任,但請注意,它們可能不會出現在 Firefox 的憑證管理員中。預計這些 CA 的管理(例如信任配置)將透過內建的 Windows 工具或其他第 3 方實用程式進行。另請注意,要使此類變更在 Firefox 中生效,必須關閉然後再次開啟首選項,或必須重新啟動 Firefox。隨著此功能的發展,可以自動處理此問題以方便使用。

相關內容