目的是僅信任儲存在硬碟上的特定設定檔的特定憑證。因此不需要證書頒發機構。
嘗試過但沒有成功:
- 使用憑證管理員刪除所有 CA(Firefox 首選項的一部分)
cert9.db
在個人資料中刪除- 清除
cert9.db
為 0 位元組並刪除所有權限標誌,以便 Firefox 無法變更它
所有這三項措施都會導致 CA 重新出現(儘管不一定在 中cert9.db
,至少如果我刪除了對該文件的寫入權限;但仍然在 Firefox 的憑證管理器中)。
我想知道 CA 從哪裡來。如果 Firefox 錯過了它們,它會從互聯網上讀取它們嗎?我根本沒想到他們會再出現。
我怎樣才能防止這種行為?
答案1
有沒有辦法刪除 Firefox 中的所有 CA 憑證?
Firefox 使用 Mozilla 的國家安全局用於安全相關功能(例如 TLS)的程式庫。 NSS 有自己的內建 CA 存儲,Firefox 使用它來取得預設的 CA 憑證。
預先載入的 CA 憑證包含在以下文件中:
- Windows:libnssckbi.dll
- Unix、Linux 和其他 *nix 變體:libnssckbi.so
- Mac OS X:目錄/MacOS/libnssckbi.dynlib
因此,不可能刪除所有 CA 證書,因為它們是 Firefox 本身的一部分。
是否可以取消所有 CA 憑證的信任?
如果您不信任 Mozilla 產品中預設包含根憑證的特定 CA,則有兩種方法可以停用該憑證。
- 關閉該根憑證的信任位元。
- 刪除根證書。
- 刪除預設根儲存中的根憑證相當於關閉該根的所有信任位元。因此,即使根憑證將重新出現在憑證管理員中,它也會被視為您更改了該根憑證的信任位元以將其全部關閉。
重要的:此變更將產生永久影響,因此根憑證的信任位元只能由您再次變更。升級到較新版本的 Mozilla 軟體不會影響此變更。強烈建議您記下您修改的根證書,以便在更改對您的瀏覽體驗產生負面影響時可以重新開啟信任位。
因此,要不信任所有 CA 憑證:
- 去
about:preferences#privacy
- 點擊
View Certificates...
頁面底部的 - 切換到選項卡
Authorities
- 選擇證書
- 點選
Delete or Distrust...
- 點選確認
OK
- 對每個憑證重複步驟 4-6
- 重新啟動火狐瀏覽器
重新啟動 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。隨著此功能的發展,可以自動處理此問題以方便使用。