目錄

簡介

必要條件

需求

採用元件

設定

指令說明

指令

別名備份

匯出金鑰庫

刪除別名

建立新的自簽名證書

匯出自簽名證書

生成證書簽名請求(CSR)

匯入CA簽名證書

驗證

疑難排解

簡介

本檔案介紹一種自動執行CVP憑證所用的各種命令的方法。此功能也提供了讓憑證與RFC相容的選項。

必要條件

需求

思科建議您瞭解以下主題：

- 思科語音入口網站(CVP)

- Java Keytool

- 公開金鑰基礎架構(PKI)憑證

採用元件

本檔案中的資訊是根據以下軟體版本：

- 思科語音入口網站(CVP)12.5(1)

- 整合客服中心企業版(UCCE)

- 套裝客服中心企業版(PCCE)

- 營運及行政管理入口網站(OAMP)

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

設定

指令說明

這些命令旨在通過CVP在很大程度上自動執行管理證書中使用的命令。這些軟體未獲得官方支援，但已經過測試。

security.properties輸出示例：

Security.keystorePW = xt_PXM-*4Z!!ZQID7YX*6K(3iii

這些命令中能夠自動執行的部分是本行的第一部分。本節顯示了該行，然後說明了它的工作原理。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO <command>

命令部分：

命令部分

說明

對於/f

這是帶有交換機的DOS FOR命令，該交換機用於處理特定匹配的檔案內容。

"令牌=3"

這表示我們需要第3個令牌或單詞。

在本節所示的security.properties檔案示例中，3個令牌是：

令牌1:Security.keystorePW

令牌2:=

令牌3:xt_PXM-*4Z!!ZQID7YX*6K(3iii)

%i

該變數儲存與FOR引數匹配的IN命令值。

在('more %CVP_HOME%\conf\security.properties')

執行命令「more %CVP_HOME%\conf\security.properties」並將內容傳遞到FOR命令。

DO <命令>

執行命令並傳遞%i的值。

本文檔中顯示的命令讀取security.properties中的口令並自動輸入keystore命令。這可確保終端使用者無需鍵入或複製/貼上此密碼，從而消除可能導致的錯誤。

指令

該示例命令全部使用名為cvp_certificate的備用別名。確保根據需要替換別名。

別名備份

通常不使用此命令，但是對備份舊證書和私鑰很有用。

此示例將cvp_certificate重新命名為cvp_certificate_back。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -changealias -alias cvp_certificate -destalias cvp_certificate_back

匯出金鑰庫

此命令將整個金鑰庫匯出到一個文本檔案。這允許使用者檢查金鑰庫的內容。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -list -v > %CVP_HOME%\conf\security\cvp_keystore.txt

刪除別名

此命令刪除當前別名和證書。此過程不可撤消，強烈建議您對金鑰庫進行備份。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -delete -alias cvp_certificate

建立新的自簽名證書

此命令可建立一個新的自簽名證書。即使您選擇讓憑證授權單位(CA)簽署憑證，也需要此命令，因為這會建立憑證所需的私密金鑰。

對於不帶SAN的RSA證書（典型）：

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -genkeypair -alias cvp_certificate -keysize 2048 -keyalg RSA -validity 1825

對於帶有SAN的RSA證書：

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -genkeypair -alias cvp_certificate -keysize 2048 -keyalg RSA -validity 1825 -ext san=dns:mycvp.mydomain.com,dns:localhost

主題替代名稱

-ext引數允許使用者使用特定的擴展。顯示的示例將新增一個主題替代名稱(SAN)，該名稱帶有伺服器的完全限定域名(FQDN)以及本地主機。其他SAN欄位可以新增為逗號分隔值。

有效的SAN型別包括：

ip:192.168.0.1

dns:myserver.mydomain.com

email:name@mydomain.com

每個命令都需要提供6個值。依次為：公用名、組織單位、組織、城市、省（州）和國家（地區）。複製並更新答案，以滿足您的特定要求。然後，您可以根據需要將它們貼上到命令提示符中。

myserver.mydomain.com

My Organizational Unit

My Company

City

My State

US

匯出自簽名證書

此命令匯出自簽名證書。這允許將憑證匯入到其他元件，例如OAMP或PCCE管理資料伺服器。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -export -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.crt

生成證書簽名請求(CSR)

此命令將建立CSR，以便您可以讓CA對請求進行簽名。對於沒有SAN的證書：

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -certreq -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.csr

對於使用SAN的證書：

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -certreq -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.csr -ext san=dns:mycvp.mydomain.com,dns:localhost

附註：您必須將SAN擴展包含在CSR請求中，以便證書包含SAN。

匯入CA簽名證書

這些命令依次匯入CA根、中間和伺服器證書。

將證書複製到%CVP_HOME%\conf\security\目錄。

確保根據需要更新別名和證書名稱。

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias myrootca -file %CVP_HOME%\conf\security\root.crt

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias myintermediate -file %CVP_HOME%\conf\security\intermediate.crt

FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.crt

驗證

沒有驗證此過程的步驟。

疑難排解

沒有步驟可排除此過程的故障。