簡介
本文檔介紹如何對由FMC管理的Firepower威脅防禦裝置上的證書頒發機構(CA)導入錯誤進行故障排除和修復。
必要條件
需求
思科建議您瞭解以下主題:
- 公開金鑰基礎架構 (PKI)
- Firepower Management Center (FMC)
- Firepower Threat Defense (FTD)
- OpenSSL
採用元件
本檔案中的資訊是根據以下軟體版本:
- MacOS x 10.14.6
- FMC 6.4
- OpenSSL
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
附註:在FTD管理的裝置上,必須具備CA憑證,才能產生憑證簽署請求(CSR)。
- 如果CSR是在外部伺服器(例如Windows Server或OpenSSL)中產生,手動註冊方法將會失敗,因為FTD不支援手動金鑰註冊。必須使用不同的方法,例如PKCS12。
問題
在此特定案例中,FMC在CA憑證狀態中會顯示一個紅十字(如圖所示),表示憑證註冊無法安裝CA憑證,並顯示「無法設定CA憑證」訊息。 如果未正確封裝證書,或PKCS12檔案不包含正確的頒發者證書(如圖所示),則通常會顯示此錯誤。
注意:在較新的FMC版本中,此問題已解決,以便與ASA行為匹配,後者會建立另一個信任點並將根CA包含在.pfx證書的信任鏈中。
解決方案
步驟 1.找到.pfx證書
獲取在FMC GUI中註冊的pfx證書,儲存該證書並在Mac終端(CLI)中查詢檔案。
ls
步驟 2.從.pfx檔案擷取憑證和金鑰
從pfx檔案中提取客戶端證書(非CA證書)(需要用於生成.pfx檔案的密碼)。
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem
身分辨識匯出
解壓縮CA證書(非客戶端證書)。
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem
快取匯出
從pfx檔案擷取私密金鑰(需要步驟2中的相同密碼)。
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
金鑰匯出
現在存在四個檔案:cert.pfx(原始pfx捆綁包)、certs.pem(CA證書)、id.pem(客戶端證書)和key.pem(私鑰)。
導出後的ls
步驟 3.在文本編輯器中驗證證書
使用文本編輯器驗證證書(例如:nano certs.pem)。
對於此特定情況,certs.pem只包含子CA(發出CA)。
從步驟5開始,本文說明檔案certs.pem包含2個證書(一個根CA和一個子CA)的方案的過程。
證書檢視
步驟 4.驗證記事本中的私鑰
使用文字編輯器驗證key.pem檔案的內容(例如:nano certs.pem)。
步驟 5.拆分CA證書
如果certs.pem檔案有2個憑證(1個根CA和1個子CA),則需要從信任鏈結中移除根CA,以便能在FMC中匯入pfx格式的憑證,僅將子CA保留在鏈結中以進行驗證。
將certs.pem分割成多個檔案,下一個命令會將憑證重新命名為cacert-XX。
split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-
分割後分割
使用以下所述的命令將.pem副檔名增加到這些新檔案。
for i in cacert-*;do mv "$i" "$i.pem";done
重新命名指令碼
檢視兩個新檔案,然後使用所述的命令確定哪個檔案包含根CA,哪個檔案包含子CA。
首先,尋找id.pem檔案(即辨識憑證)的簽發者。
openssl x509 -in id.pem -issuer -noout
頒發者檢視
現在,找到兩個cacert-檔案(CA證書)的主題。
openssl x509 -in cacert-aa.pem -subject -noout
openssl x509 -in cacert-ab.pem -subject -noout
主題檢查
將「主旨」與id.pem檔案的「簽發者」相符的cacert檔案(如上圖所示)是之後用來建立PFX憑證的子CA。
刪除沒有匹配主題的cacert檔案。在本例中,該證書為cacert-aa.pem。
rm -f cacert-aa.pem
步驟 6.合併PKCS12檔案中的證書
在新的pfx檔案中合併子CA憑證(在本案例中,名稱為cacert-ab.pem)以及ID憑證(id.pem)和私密金鑰(key.pem)。您必須使用密碼保護此檔案。如果需要,請更改cacert-ab.pem檔名以匹配您的檔案。
openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx
pfx建立
步驟 7.在FMC中導入PKCS12檔案
在FMC中,導航到裝置>證書,並將證書導入所需的防火牆,如下圖所示。
證書註冊
插入新證書的名稱。
註冊
新增憑證,然後等待註冊程式將新憑證部署到FTD。
new-cert
新證書必須可見,CA欄位中不能有紅十字標誌。
驗證
使用本節內容,確認您的組態是否正常運作。
在Windows中,您可能會遇到以下問題:即使.pfx檔案只包含ID證書,作業系統仍然顯示證書的整個證書鏈(如果其儲存中包含subCA, CA證書鏈)。
若要檢查.pfx檔案中的憑證清單,可以使用certutil或openssl等工具。
certutil -dump cert.pfx
certutil是一個命令列實用程式,它提供.pfx檔案中的證書清單。您必須看到包含ID、SubCA、CA(如果有)的整個鏈。
或者,您可以使用openssl命令,如下面的命令所示。
openssl pkcs12 -info -in cert.pfx
若要驗證憑證狀態以及CA和ID資訊,您可以選取圖示並確認已成功匯入: