修正 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 - 警告
問題 - 憑證不包含 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 檔案。 這是所有 Windows 10 用戶端在從憑證管理單元匯出或使用 Export-PFXCertificate
時的預設加密。
讀取 PFX
警告 - 密碼只會保護憑證中的私用資訊。
修正 - 匯出 PFX 檔案,並可選擇性地設定 啟用憑證隱私權。
問題 - PFX 檔案無效。
修正 - 按照 中的步驟,準備 Azure Stack Hub PKI 憑證以進行部署,重新匯出憑證。
簽章演算法
問題 - 簽章演算法為 SHA1。
修正 - 使用 Azure Stack Hub 憑證簽署要求產生中的步驟,透過 SHA256 的簽章演算法重新產生憑證簽署要求 (CSR)。 然後將 CSR 重新提交給證書頒發機構單位,以重新發出憑證。
私鑰
問題 - 私鑰遺失或不包含本機計算機屬性。
修正 - 從產生 CSR 的電腦,使用 準備 Azure Stack Hub PKI 憑證以進行部署中的步驟,重新匯出憑證。 這些步驟包括從本機計算機證書存儲匯出。
憑證鏈結
問題 - 憑證鏈結未完成。
修正 - 憑證應包含完整的憑證鏈結。 使用 的步驟準備 Azure Stack Hub PKI 憑證以進行部署,以重新匯出憑證,並選擇選項 盡可能將所有憑證包含在認證路徑中。
DNS 名稱
問題 - 憑證上的 DNSNameList 不包含 Azure Stack Hub 服務端點名稱或有效的通配符匹配項目。 通配符比對僅適用於 DNS 名稱最左邊的命名空間。 例如,*.region.domain.com
只適用於 portal.region.domain.com
,而不是 *.table.region.domain.com
。
修正 - 使用 Azure Stack Hub 憑證簽署要求產生中的步驟,以正確的 DNS 名稱重新產生 CSR 以支援 Azure Stack Hub 端點。 將 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 套件沒有,則本機電腦必須包含憑證鏈。
- 其他憑證
Repair-AzsPfxCertificate 如果您需要產生新的 CSR 並重新發出憑證,則無法協助。
先決條件
在工具執行所在的電腦上必須具備下列必要條件:
具有因特網連線功能的 Windows 10 或 Windows Server 2016。
PowerShell 5.1 或更新版本。 若要檢查您的版本,請執行下列 PowerShell Cmdlet,然後檢閱 Major 和 Minor 版本:
$PSVersionTable.PSVersion
為 Azure Stack Hub 設定PowerShell。
下載最新版的 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