修正 Azure Stack Hub PKI 憑證的常見問題
本文中的資訊可協助您了解並解決 Azure Stack Hub PKI 憑證的常見問題。 當您使用 Azure Stack Hub 整備檢查程式工具來驗證 Azure Stack Hub PKI 憑證時,可以探索到問題。 此工具會檢查憑證是否符合 Azure Stack Hub 部署和 Azure Stack Hub 祕密輪替的 PKI 需求,然後將結果記錄在 report.json 檔案中。
HTTP CRL - Warning
問題:憑證不包含 CDP 延伸模組中的 HTTP CRL。
修正:這是個非執行問題。 根據 Azure Stack Hub 公開金鑰基礎結構 (PKI) 憑證需求,Azure Stack 需要 HTTP CRL 才能撤銷檢查。 憑證上未偵測到 HTTP CRL。 為確保憑證撤銷檢查正常運作,憑證授權單位應該在 CDP 延伸模組中發出具有 HTTP CRL 的憑證。
HTTP CRL - 失敗
問題:無法連線到 CDP 延伸模組中的 HTTP CRL。
修正:這是個執行問題。 根據發佈 Azure Stack Hub 連接埠和 URL (輸出),Azure Stack 需要連線到 HTTP CRL 才能撤銷檢查。
PFX 加密
問題 - 「PFX 加密」不是 TripleDES-SHA1。
修正 - 匯出採用 TripleDES-SHA1 加密的 PFX 檔案。 從憑證嵌入式管理單元匯出或使用 Export-PFXCertificate
時,這是所有 Windows 10 用戶端的預設加密。
讀取 PFX
警告 - 密碼只會保護憑證中的私人資訊。
修正 - 使用 [啟用憑證隱私權] 的選用設定將 PFX 檔案匯出。
問題 - PFX 檔案無效。
修正 - 使用準備 Azure Stack Hub PKI 憑證以進行部署中的步驟,將憑證重新匯出。
簽章演算法
問題 - 簽章演算法是 SHA1。
修正 - 使用「Azure Stack Hub 憑證簽署要求產生」中的步驟,重新產生具有 SHA256 簽章演算法的憑證簽署要求 (CSR)。 然後將 CSR 重新提交至憑證授權單位,以重新發行憑證。
私密金鑰
問題 - 私密金鑰遺失或不包含本機電腦屬性。
修正 - 從產生 CSR 的電腦中,使用準備 Azure Stack Hub PKI 憑證以進行部署中的步驟,將憑證重新匯出。 這些步驟包括從本機電腦憑證存放區匯出。
憑證鏈結
問題 - 憑證鏈結不完整。
修正 - 憑證應該包含完整的憑證鏈結。 使用準備 Azure Stack PKI 憑證以進行部署中的步驟將憑證重新匯出,並選取 [如果可能的話,包含憑證路徑中的所有憑證] 選項。
DNS 名稱
問題 - 憑證上的 DNSNameList 不包含 Azure Stack Hub 服務端點名稱或有效的萬用字元比對。 萬用字元比對僅對 DNS 名稱最左邊的命名空間有效。 例如,*.region.domain.com
只對 portal.region.domain.com
有效,對 *.table.region.domain.com
則無效。
修正 - 使用「Azure Stack Hub 憑證簽署要求產生」中的步驟,重新產生具有正確 DNS 名稱可支援 Azure Stack Hub 端點的 CSR。 將 CSR 重新提交至憑證授權單位。 然後遵循準備 Azure Stack Hub PKI 憑證以進行部署中的步驟,從產生 CSR 的電腦匯出憑證。
金鑰使用量
問題 - 金鑰使用方式遺失數位簽章或金鑰加密、或增強金鑰使用方式遺失伺服器驗證或用戶端驗證。
修正 - 使用 Azure Stack Hub 憑證簽署要求產生中的步驟,重新產生具有正確金鑰使用方式屬性的 CSR。 將 CSR 重新提交至憑證授權單位,並確認憑證範本不會覆寫要求中的金鑰使用方式。
金鑰大小
問題 - 金鑰大小小於 2048。
修正 - 使用 Azure Stack Hub 憑證簽署要求產生中的步驟,重新產生具有正確金鑰長度 (2048) 的 CSR,然後將 CSR 重新提交至憑證授權單位。
鏈結順序
問題 - 憑證鏈結的順序不正確。
修正 - 使用準備 Azure Stack Hub PKI 憑證以進行部署中的步驟將憑證重新匯出,並選取 [如果可能的話,包含憑證路徑中的所有憑證] 選項。 確定僅選取分葉憑證以進行匯出。
其他憑證
問題 - PFX 套件包含的憑證不是分葉憑證或不屬於憑證鏈結。
修正 - 使用準備 Azure Stack Hub PKI 憑證以進行部署中的步驟將憑證重新匯出,並選取 [如果可能的話,包含憑證路徑中的所有憑證] 選項。 確定僅選取分葉憑證以進行匯出。
修正常見的封裝問題
AzsReadinessChecker 工具包含名為 Repair-AzsPfxCertificate 的協助程式 Cmdlet,可用來匯入 PFX 檔案然後再加以匯出,以修正常見的封裝問題,包括:
- PFX 加密不是 TripleDES-SHA1。
- 「私密金鑰」遺失本機電腦屬性。
- 「憑證鏈結」不完整或錯誤。 如果 PFX 套件不包含憑證鏈結,則本機電腦必須包含憑證鏈結。
- 其他憑證
如果您需要產生新的 CSR,然後重新發出憑證,Repair-AzsPfxCertificate 就幫不上忙。
必要條件
在執行此工具的電腦上必須將下列先決條件準備就緒:
Windows 10 或 Windows Server 2016,具有網際網路連線能力。
PowerShell 5.1 或更新版本。 若要檢查版本,請執行下列 PowerShell Cmdlet,然後再檢閱「主要」和「次要」版本:
$PSVersionTable.PSVersion
下載最新版的 Azure Stack Hub 整備檢查程式工具。
匯入和匯出現有的 PFX 檔案
在符合必要條件的電腦上,開啟提高權限的 PowerShell 提示字元,然後執行下列命令以安裝 Azure Stack Hub 整備檢查程式:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
從 PowerShell 提示字元中,執行下列 Cmdlet 以設定 PFX 密碼。 請在系統提示時輸入密碼:
$password = Read-Host -Prompt "Enter password" -AsSecureString
從 PowerShell 提示字元中執行下列命令,以匯出新的 PFX 檔案:
- 針對
-PfxPath
,指定前往您正在使用的 PFX 檔案的路徑。 在下列範例中,路徑是.\certificates\ssl.pfx
。 - 針對
-ExportPFXPath
,指定要進行匯出的 PFX 檔案的位置和名稱。 在下列範例中,路徑是.\certificates\ssl_new.pfx
:
Repair-AzsPfxCertificate -PfxPassword $password -PfxPath .\certificates\ssl.pfx -ExportPFXPath .\certificates\ssl_new.pfx
- 針對
此工具完成之後,檢閱輸出確認是否成功:
Repair-AzsPfxCertificate v1.1809.1005.1 started. Starting Azure Stack Hub Certificate Import/Export Importing PFX .\certificates\ssl.pfx into Local Machine Store Exporting certificate to .\certificates\ssl_new.pfx Export complete. Removing certificate from the local machine store. Removal complete. Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Repair-AzsPfxCertificate Completed