如何解除委任 Windows 企業證書頒發機構單位並移除所有相關物件
此逐步解說文章說明如何解除委任 Microsoft Windows 企業 CA,以及如何從 Active Directory 目錄服務移除所有相關物件。
適用於: Windows Server
原始 KB 編號: 889250
摘要
當您將證書頒發機構單位卸載 (CA) 時,CA 所簽發的憑證通常仍然未完成。 如果未處理的憑證由各種公鑰基礎結構用戶端電腦處理,驗證將會失敗,且不會使用這些憑證。
本文說明如何撤銷未處理的憑證,以及如何完成成功卸載 CA 所需的各種其他工作。 此外,本文說明數個公用程式,可用來協助您從網域中移除 CA 物件。
步驟 1 - 撤銷企業 CA 所簽發的所有使用中憑證
- 選 取 [開始],指向 [ 系統管理工具],然後選取 [ 證書頒發機構單位]。
- 展開您的 CA,然後選取 [發行的憑證] 資料夾。
- 在右窗格中,選取其中一個核發的憑證,然後按 CTRL+A 來選取所有發行的憑證。
- 以滑鼠右鍵按下選取的憑證,選取 [ 所有工作],然後選取 [ 撤銷憑證]。
- 在 [ 證書吊銷 ] 對話框中,選取 [ 停止作業 ] 作為撤銷的原因,然後選取 [ 確定]。
步驟 2 - 增加 CRL 發行集間隔
- 在證書頒發機構單位 Microsoft Management Console (MMC) 嵌入式管理單元中,以滑鼠右鍵按兩下 [ 撤銷憑證 ] 資料夾,然後選取 [ 內容]。
- 在 [ CRL 發行集間隔] 方塊中,輸入適當的長值,然後選取 [ 確定]。
注意事項
CRL) (證書吊銷清單的存留期應該超過已撤銷之憑證的存留期。
步驟 3 - 發佈新的 CRL
- 在 [證書頒發機構單位 MMC] 嵌入式管理單元中,以滑鼠右鍵按兩下 [撤銷憑證] 資料夾。
- 選取 [所有工作],然後選取 [ 發佈]。
- 在 [ 發佈 CRL] 對話框中,選取 [ 新增 CRL],然後選取 [ 確定]。
步驟 4 - 拒絕任何擱置的要求
根據預設,企業 CA 不會儲存憑證要求。 不過,系統管理員可以變更此預設行為。 若要拒絕任何擱置的憑證要求,請遵循下列步驟:
- 在 [證書頒發機構單位 MMC] 嵌入式管理單元中,選取 [擱置的要求] 資料夾。
- 在右窗格中,選取其中一個擱置的要求,然後按 CTRL+A 來選取所有擱置的憑證。
- 以滑鼠右鍵按下選取的要求,選取 [ 所有工作],然後選取 [ 拒絕要求]。
步驟 5 - 從伺服器卸載憑證服務
若要停止憑證服務,請選取 [ 開始],選取 [ 執行],輸入 cmd,然後選取 [ 確定]。
在命令提示字元中,輸入 certutil -shutdown,然後按 Enter。
在命令提示字元中,輸入 certutil -getreg CA\CSP\Provider,然後按 Enter。 請記下輸出中的 Provider 值。 例如:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\Fabrikam Root CA1 G2\csp: Provider REG_SZ = Microsoft Software Key Storage Provider CertUtil: -getreg command completed successfully.
如果值為 Microsoft Strong Cryptographic Provider 或 Microsoft Enhanced Cryptographic Provider v1.0,請輸入 CertUtil -Key ,然後按 Enter。
如果值為 Microsoft 軟體金鑰儲存提供者,請輸入 CertUtil -CSP KSP -Key ,然後按 Enter。
如果值為其他值,請輸入 CertUtil -CSP <PROVIDER NAME> -Key ,然後按 Enter。此命令會顯示 CSP) (所有已安裝密碼編譯服務提供者的名稱,以及與每個提供者相關聯的密鑰存放區。 列在列出的金鑰存放區中,將會是 CA 的名稱。 名稱會列出數次,如下列範例所示:
(1) Microsoft Base Cryptographic Provider v1.0:
1a3b2f44-2540-408b-8867-51bd6b6ed413
MS IIS DCOM ClientSYSTEMS-1-5-18
MS IIS DCOM Server
Windows2000 企業版根 CA
MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500afd1bc0a-a93c-4a31-8056-c0b9ca632896
Microsoft Internet Information Server
NetMon
MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500(5) Microsoft Enhanced Cryptographic Provider v1.0:
1a3b2f44-2540-408b-8867-51bd6b6ed413
MS IIS DCOM ClientSYSTEMS-1-5-18
MS IIS DCOM Server
Windows2000 企業版根 CA
MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500afd1bc0a-a93c-4a31-8056-c0b9ca632896
Microsoft Internet Information Server
NetMon
MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500刪除與 CA 相關聯的私鑰。 若要這樣做,請在命令提示字元中輸入下列命令,然後按 Enter:
certutil -delkey CertificateAuthorityName
注意事項
如果您的 CA 名稱包含空白,請以引弧括住名稱。
在此範例中,證書頒發機構單位名稱是 Windows2000 企業根 CA。 因此,此範例中的命令行如下所示:
certutil -delkey "Windows2000 Enterprise Root CA"
再次列出金鑰存放區,以確認已刪除 CA 的私鑰。
刪除 CA 的私鑰之後,請卸載憑證服務。 若要這樣做,請遵循下列步驟,視您執行的 Windows Server 版本而定。
如果您要卸載企業 CA,則 Enterprise Admins 的成員資格或同等成員資格是完成此程式所需的最小值。 如需詳細資訊,請參閱<實作角色型管理>。
若要卸載 CA,請遵循下列步驟:
- 選取 [開始],指向 [系統管理工具],然後選取 [伺服器管理員]。
- 在 [ 角色摘要] 下,選 取 [移除角色 ] 以啟動 [移除角色精靈],然後選取 [ 下一步]。
- 選取以清除 [ Active Directory 憑證服務] 複選框,然後選取 [ 下一步]。
- 在 [ 確認移除選項] 頁面上檢閱信息,然後選取 [ 移除]。
- 如果 Internet Information Services (IIS) 正在執行,而且系統會提示您在繼續卸載程式之前停止服務,請選取 [ 確定]。
- [移除角色精靈] 完成之後,請重新啟動伺服器。 這會完成卸載程式。
如果您在單一伺服器上安裝了多個 Active Directory 憑證服務 (AD CS) 角色服務,則程式會稍有不同。 若要卸載 CA,但保留其他 AD CS 角色服務,請遵循下列步驟。
注意事項
您必須使用與安裝 CA 之使用者相同的許可權登入,才能完成此程式。 如果您要卸載企業 CA,則 Enterprise Admins 的成員資格或同等成員資格是完成此程式所需的最小值。 如需詳細資訊,請參閱<實作角色型管理>。
- 選取 [開始],指向 [系統管理工具],然後選取 [伺服器管理員]。
- 在 [ 角色摘要] 下,選取 [Active Directory 憑證服務]。
- 在 [ 角色服務] 底下,選 取 [移除角色服務]。
- 選取以清除 [ 證書頒發機構單位 ] 複選框,然後選取 [ 下一步]。
- 在 [ 確認移除選項] 頁面上檢閱信息,然後選取 [ 移除]。
- 如果 IIS 正在執行,且系統提示您在繼續卸載程式之前停止服務,請選取 [ 確定]。
- [移除角色精靈] 完成之後,您必須重新啟動伺服器。 這會完成卸載程式。
如果其餘的角色服務,例如 Online Responder 服務,設定為使用來自已卸載 CA 的數據,您必須重新設定這些服務以支援不同的 CA。 卸載 CA 之後,伺服器上會保留下列資訊:
- CA 資料庫。
- CA 公鑰和私鑰。
- 個人存放區中的 CA 憑證。
- 如果在 AD CS 安裝期間指定了共用資料夾,則為共享資料夾中的 CA 憑證。
- 信任的跟證書授權單位存放區中的CA鏈結跟證書。
- 中繼證書頒發機構單位存放區中CA鏈結的中繼憑證。
- CA 的CRL。
根據預設,此資訊會保留在伺服器上,以防您卸載並重新安裝 CA。 例如,如果您想要將獨立 CA 變更為企業 CA,您可以卸載並重新安裝 CA。
步驟 6 - 從 Active Directory 移除 CA 物件
當 Microsoft 憑證服務安裝在屬於網域成員的伺服器上時,會在 Active Directory 的組態容器中建立數個物件。
這些物件如下所示:
certificateAuthority 物件
- 位於 CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain。
- 包含 CA 的 CA 憑證。
- 已發佈的授權單位資訊存取 (AIA) 位置。
crlDistributionPoint 物件
- 位於 CN=ServerName,CN=CDP,CN=Public Key Service,CN=Services,CN=Configuration,DC=ForestRoot,DC=com。
- 包含 CA 定期發佈的 CRL。
- 已發佈 CRL 發佈點 (CDP) 位置。
certificationAuthority 物件
- 位於 CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot,DC=com。
- 包含 CA 的 CA 憑證。
pKIEnrollmentService 物件
- 位於 CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot,DC=com。
- 由企業CA建立。
- 包含 CA 已設定要發出之憑證類型的相關信息。 此物件的許可權可以控制哪些安全性主體可以針對此 CA 註冊。
卸載 CA 時,只會移除 pKIEnrollmentService 物件。 這可防止客戶端嘗試針對已解除委任的 CA 進行註冊。 其他物件會保留,因為 CA 所簽發的憑證可能仍未完成。 您必須依照 步驟 1 - 撤銷企業 CA 發出的所有使用中憑證 一節中的程式撤銷這些憑證。
若要讓公鑰基礎結構 (PKI) 用戶端電腦成功處理這些未完成的憑證,計算機必須在 Active Directory 中找出授權單位資訊存取 (AIA) 和 CRL 發佈點路徑。 建議您撤銷所有未處理的憑證、延長 CRL 的存留期,然後在 Active Directory 中發佈 CRL。 如果未處理的憑證由各種 PKI 用戶端處理,驗證將會失敗,而且不會使用這些憑證。
如果在 Active Directory 中維護 CRL 發佈點和 AIA 不是優先順序,您可以移除這些物件。 如果您預期要處理一或多個先前使用中的數字證書,請勿移除這些物件。
從 Active Directory 移除所有認證服務物件
注意事項
在移除 Active Directory 樹系中的所有 CA 物件之前,您不應該從 Active Directory 移除證書範本。
若要從 Active Directory 移除所有認證服務物件,請遵循下列步驟:
判斷 CA 的 CACommonName。 如果要執行這項操作,請依照下列步驟執行:
- 選取 [開始],選取 [執行],在 [開啟] 方塊中輸入 cmd,然後選取 [確定]。
- 輸入 certutil,然後按 ENTER。
- 記下屬於 CA 的 Name 值。 在此程序的後續步驟中,您將需要 CACommonName。
選 取 [開始],指向 [ 系統管理工具],然後選取 [ Active Directory 月臺和服務]。
在 [ 檢視] 功能表上,選取 [ 顯示服務節點]。
依序展開 [服務] 和 [ 公鑰服務],然後選取 [AIA] 資料夾。
在右窗格中,以滑鼠右鍵按兩下 CA 的 CertificationAuthority 物件,選取 [ 刪除],然後選取 [ 是]。
在 Active Directory 網站和服務 MMC 嵌入式管理單元的左窗格中,選取 CDP 資料夾。
在右窗格中,找出安裝憑證服務之伺服器的容器物件。 以滑鼠右鍵按兩下容器,選取 [ 刪除],然後選取 [ 是 ] 兩次。
在 Active Directory 網站和服務 MMC 嵌入式管理單元的左窗格中,選取 [ 證書頒發機構單位 ] 節點。
在右窗格中,以滑鼠右鍵按兩下 CA 的 CertificationAuthority 物件,選取 [ 刪除],然後選取 [ 是]。
在 Active Directory 網站和服務 MMC 嵌入式管理單元的左窗格中,選取 [ 註冊服務] 節點。
在右窗格中,確認卸載憑證服務時已移除 CA 的 pKIEnrollmentService 物件。 如果物件未刪除,請以滑鼠右鍵按下對象,選取 [ 刪除],然後選取 [ 是]。
如果您找不到所有物件,在您執行這些步驟之後,某些物件可能會留在 Active Directory 中。 若要在可能已在 Active Directory 中留下物件的 CA 之後清除,請遵循下列步驟來判斷是否有任何 AD 物件保留:
在命令行輸入下列命令,然後按 ENTER:
ldifde -r "cn= CACommonName" -d "CN=Public Key Services,CN=Services,CN=Configuration,DC= ForestRoot,DC=com" -f output.ldf
在此命令中, CACommonName 代表您在步驟 1 中決定的 Name 值。 例如,如果 Name 值為 CA1 Contoso,請輸入下列內容:
ldifde -r "cn=CA1 Contoso" -d "cn=public key services,cn=services,cn=configuration,dc=contoso,dc=com" -f remainingCAobjects.ldf
在記事本中開啟 remainingCAobjects.ldf 檔案。 以 changetype: delete 取代 changetype: add 一詞。 然後,確認您要刪除的 Active Directory 物件是否合法。
在命令提示字元中輸入下列命令,然後按 ENTER 從 Active Directory 刪除其餘的 CA 物件:
ldifde -i -f remainingCAobjects.ldf
如果您確定已刪除所有證書頒發機構單位,請刪除證書範本。 重複步驟 12,以判斷是否有任何 AD 物件保留。
重要事項
除非已刪除所有證書頒發機構單位,否則您不得刪除證書範本。 如果不小心刪除範本,請遵循下列步驟:
請確定您已以企業系統管理員身分登入執行憑證服務的伺服器。
在命令提示中輸入下列命令,然後按 ENTER:
cd %windir%\system32
輸入下列命令,然後按 ENTER 鍵:
regsvr32 /i:i /n /s certcli.dll
此動作會在 Active Directory 中重新建立證書範本。
若要刪除證書範本,請遵循下列步驟。
- 在 Active Directory 網站和服務 MMC 嵌入式管理單元的左窗格中,選取 [證書範本] 資料夾。
- 在右窗格中,選取證書範本,然後按 Ctrl+A 以選取所有範本。 以滑鼠右鍵按下選取的範本,選取 [ 刪除],然後選取 [ 是]。
步驟 7 - 刪除發行至 NtAuthCertificates 對象的憑證
刪除 CA 物件之後,您必須刪除發行至物件的 NtAuthCertificates
CA 憑證。 使用下列其中一個命令,從存放區中 NTAuthCertificates
刪除憑證:
certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key
Services,...,DC=ForestRoot,DC=com?cACertificate?base?objectclass=certificationAuthority"
certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key
Services,...,DC=ForestRoot,DC=com?cACertificate?base?objectclass=pKIEnrollmentService"
注意事項
您必須具有企業系統管理員許可權,才能執行這項工作。
動作 -viewdelstore
會在指定屬性的憑證集合上叫用憑證選取 UI。 您可以檢視憑證詳細數據。 您可以取消選取對話框,不進行任何變更。 如果您選取憑證,當 UI 關閉且命令完全執行時,就會刪除該憑證。
使用下列命令來查看Active Directory 中 NtAuthCertificates 物件的完整 LDAP 路徑:
certutil -viewdelstore -? | findstr "CN=NTAuth"
步驟 8 - 刪除 CA 資料庫
卸載認證服務時,CA 資料庫會保持不變,以便在其他伺服器上重新建立 CA。
若要移除 CA 資料庫,請刪除 %systemroot%\System32\Certlog 檔案 夾。
步驟 9 - 清除域控制器
卸載 CA 之後,必須移除發行給域控制器的憑證。
若要移除簽發給 Windows Server 2000 域控制器的憑證,請使用 Microsoft Windows 2000 資源套件中的 Dsstore.exe 公用程式。
若要移除已簽發給 Windows Server 2000 域控制器的憑證,請遵循下列步驟:
選 取 [開始],選取 [ 執行],輸入 cmd,然後按 ENTER。
在域控制器上,於命令提示字元輸入 dsstore -dcmon ,然後按 ENTER。
輸入 3,然後按 ENTER。 此動作會刪除所有域控制器上的所有憑證。
注意事項
Dsstore.exe 公用程式會嘗試驗證發行給每個域控制器的域控制器憑證。 不會驗證的憑證會從其各自的域控制器中移除。
若要移除發行給 Windows Server 2003 域控制器的憑證,請遵循下列步驟。
重要事項
如果您使用以第 1 版域控制器範本為基礎的憑證,請勿使用此程式。
選 取 [開始],選取 [ 執行],輸入 cmd,然後按 ENTER。
在域控制器的命令提示字元中,輸入 certutil -dcinfo deleteBad。
Certutil.exe 嘗試驗證發行給域控制器的所有DC憑證。 不會驗證的憑證會移除。
若要強制套用安全策略,請遵循下列步驟:
- 選取 [開始],選取 [執行],在 [開啟] 方塊中輸入 cmd,然後按 ENTER。
- 在命令提示字元中,輸入作業系統對應版本的適當命令,然後按 ENTER:
針對 Windows Server 2000:
secedit /refreshpolicy machine_policy /enforce
針對 Windows Server 2003:
gpupdate /force
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應