簡介
本文說明如何產生憑證簽署請求(CSR)並將簽署憑證上傳到思科會議伺服器(CMS)
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
產生CSR
產生CSR的方式有兩種,其中一種是透過管理員存取的指令行介面(CLI)直接在CMS伺服器上產生CSR,另一種是透過外部第三方憑證授權單位(CA)(例如開啟SSL)產生CSR。
在這兩種情況下,都必須使用正確語法生成CSR,才能使CMS服務正常運行。
步驟1.語法結構
pki csr <key/cert basename> <CN:value> [OU:<value>] [O:<value>] [ST:<-value>] [C:<value>] [subjectAltName:<value>]
- <key/cert basename>是一個識別新金鑰和CSR名稱的字串。它可以包含字母數字、連字元或下劃線字元。這是必填欄位。
- <CN:value>是公用名。這是完全限定域名(FQDN),指定伺服器在域名系統(DNS)中的確切位置。 這是必填欄位。
- [OU:<value>]是組織單位或部門名稱。例如,支援、IT、工程師、財務。這是一個可選欄位。
- [O:<value>]是組織名稱或業務名稱。通常是合法註冊的公司名稱。這是一個可選欄位。
- [ST:<value>]是省、地區、縣或州。例如,白金漢郡加利福尼亞。這是可選欄位。
- [C:<value>]是國家/地區。貴組織所在國家/地區的國際標準化組織(ISO)代碼,包含兩個字母。例如,US、GB、FR。這是一個可選欄位。
- [subjectAltName:<value>]是使用者替代名稱(SAN)。從X509第3版(RFC 2459)開始,允許安全通訊端層(SSL)憑證指定憑證必須相符的多個名稱。此欄位使生成的證書能夠覆蓋多個域。它可以包含IP地址、域名、電子郵件地址、常規DNS主機名等,用逗號分隔。如果指定了CN,則您還必須在此清單中包括CN。雖然這是可選欄位,但必須填寫SAN欄位才能使可擴展消息傳送和線上狀態協定(XMPP)客戶端接受證書,否則XMPP客戶端顯示證書錯誤。
步驟2.產生Callbridge、Smpp、Webadmin和Webbridge CSR
- 使用Putty訪問CMS CLI並使用管理員帳戶登入。
- 運行以下命令,以便為CMS上所需的每項服務建立CSR。也可以建立具有萬用字元(*.com)或具有作為CN的群集FQDN、每個CMS伺服器的FQDN以及必要時加入URL的單個證書。
服務 |
科芒
|
Webadmin |
pki csr CN:
|
Webbridge |
pki csr CN: subjectAltName:,
|
Callbridge
TURN
負載平衡器
|
pki csr CN:
|
- 如果已對CMS進行群集,請運行以下命令。
服務 |
指令 |
Callbridge
TURN
負載平衡器
|
pki csr CN: subjectAltName:
|
XMPP |
pki csr CN: subjectAltName:,
|
步驟3.生成資料庫群集CSR,並使用內建CA對它們進行簽名
自CMS 2.7以來,您需要擁有資料庫群集的證書。 在2.7中,我們包括一個內建CA,可用於對資料庫證書進行簽名。
- 在所有核心上,運行資料庫集群remove。
- 在主上,運行pki selfsigned dbca CN。示例:Pki selfsigned dbca CN:tplab.local
- 在主上,運行pki csr dbserver CN:cmscore1.example.com subjectAltName。 示例:cmscore2.example.com,cmscore3.example.com。
- 在主節點上,為資料庫clientpki csr dbclient CN:postgres建立證書。
- 在主節點上,使用dbca對dbserver certpki簽名dbserver dbca。
- 在主節點上,使用dbca對dbclient cert pki簽名dbclient dbca。
- 將dbclient.crt複製到需要連線到資料庫節點的所有伺服器
- 將dbserver.crt檔案複製到已加入資料庫的所有伺服器(組成資料庫群集的節點)。
- 將dbca.crt檔案複製到所有伺服器。
- 在主DB伺服器上,運行database cluster certs dbserver.key dbserver.crt dbclient.key dbclient.crt dbca.crt。 這會將dbca.crt用作根ca-cert。
- 在主資料庫伺服器上,運行資料庫群集localnode a。
- 在主資料庫伺服器上,運行資料庫群集初始化。
- 在主資料庫伺服器上,運行數據庫群集狀態。 必須檢視節點:(me):已連線的主節點。
- 在加入資料庫集群的所有其他核心上,運行database cluster certs dbserver.key dbserver.crt dbclient.key dbclient.crt dbca.crt。
- 在連線到資料庫集群(不是與資料庫共置)的所有核心上,運行database cluster certs dbclient.key dbclient.crt dbca.crt
.
- 在已連線的核心上(與資料庫共置):
- 運行資料庫群集localnode a。
- 運行資料庫群集聯接。
- 在已連線(未與資料庫共置)的核心上:
- 運行資料庫群集localnode a
.
- 運行數據庫群集連線
.
步驟4.驗證簽名的證書
- 證書有效性(到期日期)可以通過證書檢查進行驗證,請運行命令pki inspect <filename>。
- 您可以驗證憑證是否與私密金鑰相符,請執行pki match <keyfile> <certificate file>指令。
- 若要確認憑證是由CA簽署以及憑證套件組合是否可用於確認該憑證,請執行命令pki verify <cert> <certificate bundle/Root CA>。
步驟5.將簽名證書應用於CMS伺服器上的元件
- 若要將憑證套用到Webadmin,請執行下一個命令:
webadmin disable
webadmin certs <keyfile> <certificate file> <certificate bundle/Root CA>
webadmin enable
- 要將證書應用到Callbridge,請運行以下命令:
callbridge certs <keyfile> <certificate file> <certificate bundle/Root CA>
callbridge restart
- 若要將憑證套用到Webbridge,請執行下一個命令(在CMS 3.x中使用新設定要求替換為webbridge3):
webbridge disable
webbridge certs <keyfile> <certificate file> <certificate bundle/Root CA>
webbridge enable
- 要將證書應用到XMPP,請運行以下命令(在CMS 3.x中不可用):
xmpp disable
xmpp certs <keyfile> <certificate file> <certificate bundle/Root CA>
xmpp enable
- 要將證書應用到資料庫或替換當前資料庫群集上的過期證書,請運行以下命令:
database cluster remove (on all servers, noting who was primary before beginning)
database cluster certs <server_key> <server_certificate> <client_key> <client_certificate> <Root ca_crt>
database cluster initialize (only on primary node)
database cluster join <FQDN or IP of primary> (only on slave node)
database cluster connect <FQDN or IP of primary> (only on nodes that are not part of the database cluster)
- 若要將憑證套用到TURN,請執行下一個命令:
turn disable
turn certs <keyfile> <certificate file> <certificate bundle/Root CA>
turn enable
憑證信任鏈結和搭售方案
自CMS 3.0以來,您需要使用證書信任鏈或完整鏈信任。 此外,對於您認識到在製作捆綁包時如何構建證書的任何服務來說,這一點也很重要。
建立證書信任鏈(如Web網橋3所要求的)時,必須建立如圖所示的證書信任鏈,在實體證書的頂部、中間的中間層、底部的根CA,然後返回單個回車。

每次建立套件組合時,憑證結尾必須只有一個回車位。
CA捆綁包與圖中所示的相同,當然,沒有實體證書。
疑難排解
如果需要替換除資料庫證書之外的所有服務的過期證書,最簡單的方法是上載與舊證書同名的新證書。如果這樣做,則只需重新啟動該服務,而無需重新配置該服務。
如果執行pki csr ...,且該證書名稱與當前金鑰匹配,則它會立即中斷服務。 如果生產線上,並且您主動建立了新的CSR和金鑰,請使用新名稱。 在將新證書上載到伺服器之前,可以重新命名當前活動名稱。
如果資料庫證書已過期,則需要檢查資料庫集群狀態,瞭解資料庫主節點是誰,並在所有節點上運行命令database cluster remove。 然後,您可以使用步驟3中的說明。生成資料庫群集CSR,並使用內建CA對它們進行簽名。
相關資訊