简介
本文档介绍如何在Cisco Contact Center Enterprise (CCE)解决方案中实施证书颁发机构(CA)签名证书。
作者:Anuj Bhatia、Robert Rogier和Ramiro Amaya,思科TAC工程师。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于以下软件版本:
- PCCE 12.5(1)
- CVP 12.5(1)
- 思科VVB 12.5
- Finesss 12.5
- CUIC 12.5
- Windows 2016
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景
证书用于确保客户端和服务器之间的身份验证通信安全。
用户可以从CA购买证书,也可以使用自签名证书。
自签名证书(顾名思义)由身份经过其认证的同一实体签署,而不是由证书颁发机构签署。自签名证书不被认为像CA证书那样安全,但默认情况下在许多应用中使用它们。
在Package Contact Center Enterprise (PCCE)解决方案版本12.x中,该解决方案的所有组件均由单一平台(SPOG)控制,该平台托管在主管理工作站(AW)服务器中。
由于PCCE 12.5(1)版本中的安全管理合规性(SRC),SPOG与解决方案中的其他组件之间的所有通信均通过安全HTTP协议完成。在UCCE 12.5中,组件之间的通信也通过安全HTTP协议完成。
本文档详细说明了在CCE解决方案中实施CA签名证书以实现安全HTTP通信所需的步骤。有关任何其他UCCE安全注意事项,请参阅UCCE安全指南。有关不同于安全HTTP的其他CVP安全通信,请参阅CVP配置指南:CVP安全指南中的安全指南。
步骤
基于CCE Windows的服务器
1. 生成CSR
此过程说明如何从Internet Information Services (IIS)管理器生成证书签名请求(CSR)。
步骤1:登录到Windows并选择Control Panel > Administrative Tools > Internet Information Services (IIS) Manager。
步骤 2在Connections(连接)窗格中,点击服务器名称。系统将显示Server Home窗格。
第 3 步:在IIS区域中,双击服务器证书。
第 4 步:在Actions窗格中,单击Create Certificate Request。
第五步:在Request Certificate对话框中,执行以下操作:
在显示的字段中指定所需信息,然后单击Next。
在Cryptographic service provider下拉列表中,保留默认设置。
从Bit length下拉列表中选择2048。
第六步:为证书请求指定文件名,然后单击Finish。
2. 获取CA签名证书
步骤1:在CA上签署证书。
注意:确保CA使用的证书模板包含客户端和服务器身份验证。
第二步:从证书颁发机构获取CA签名证书(根、应用和中间,如果有)。
3. 上传CA签名证书
步骤1:登录到Windows并选择Control Panel > Administrative Tools > Internet Information Services (IIS) Manager。
步骤 2在Connections(连接)窗格中,点击服务器名称。
第 3 步:在IIS区域中,双击服务器证书。
第 4 步:在Actions窗格中,单击Complete Certificate Request。
第 5 步:在Complete Certificate Request(完成证书请求)对话框中,填写以下字段:
在包含证书颁发机构响应字段的文件名中,点击省略号(... )按钮。
浏览到已签名应用程序证书的存储位置,然后单击Open。
注意:如果这是两层CA实施,并且根证书尚未在服务器证书存储中,则在导入签名证书之前,需要将根证书上传到Windows存储中。如果需要将根CA上载到Windows应用商店https://learn.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate,请参阅本文档。
在友好名称字段中,输入服务器的完全限定域名(FQDN)或任何重要名称。确保Select a certificate store for the new certificate 下拉列表保留为Personal。
步骤 6 单击确定以上传证书。
如果证书上传成功,则证书将显示在Server Certificates窗格中。
4. 将CA签名证书绑定到IIS
此过程说明如何在IIS管理器中绑定CA签名证书。
步骤1:登录到Windows并选择Control Panel > Administrative Tools > Internet Information Services (IIS) Manager。
步骤 2在“连接”窗格中,选择<服务器名称> > Sites > Default Web Site。
第 3 步:在操作窗格中,单击绑定……。
第 4 步:单击类型https和端口443,然后单击Edit...。
第 5 步:从SSL certificate下拉列表中,选择与上一步中指定的友好名称相同的证书。
步骤 6 Click OK.
步骤 7.导航到开始>运行> services.msc,然后重新启动IIS Admin服务。
如果IIS重新启动成功,则在启动应用程序时不显示证书错误警告。
5. 将CA签名证书绑定到诊断门户
此过程说明如何在Diagnostic Portico中绑定CA签名证书。
步骤1:打开命令提示符(以管理员身份运行)。
步骤 2导航到Diagnostic Portico主文件夹。运行此指令:
cd c:\icm\serviceability\diagnostics\bin
第 3 步:删除当前绑定到诊断门户的证书。运行此指令:
DiagFwCertMgr /task:UnbindCert
第 4 步:打开签名证书并复制Thumbprint字段的哈希内容(不含空格)。
第五步:运行此命令并粘贴哈希内容。
DiagFwCertMgr /task:BindCertFromStore /certhash:<hash_value>
如果证书绑定成功,则显示The certificate binding is VALID 消息。
第六步:验证证书绑定是否成功。运行此指令:
DiagFwCertMgr /task:ValidateCertBinding
注意:默认情况下,DiagFwCertMgr使用端口7890。
如果证书绑定成功,则显示The certificate binding is VALID 消息。
步骤 7.重新启动诊断框架服务。运行以下命令:
net stop DiagFwSvc
net start DiagFwSvc
如果诊断框架成功重新启动,则启动应用程序时不会显示证书错误警告。
6. 将根证书和中间证书导入Java密钥库
注意:在开始之前,您必须以管理员身份备份密钥库并从Java主目录运行命令。
步骤1.了解Java主目录路径,确保Java密钥工具位于何处。您可以通过两种方法查找Java主路径。
选项1: CLI命令:echo %JAVA_HOME%
选项2:通过高级系统设置手动设置,如图所示
注意:在UCCE 12.5上,默认路径为C:\Program Files (x86)\Java\jre1.8.0_221\bin。但是,如果您已使用12.5(1a)安装程序或已安装12.5 ES55(必需OpenJDK ES),则请使用CCE_JAVA_HOME而不是JAVA_HOME,因为数据存储路径已随OpenJDK一起更改。
第二步:从文件夹C:\Program Files (x86)\Java\jre1.8.0_221\lib\security中备份cacerts文件。 您可以将其复制到其他位置。
第三步:以管理员身份打开命令窗口以运行命令:
keytool.exe –keystore ./cacerts -import -file <path where the Root, or Intermediate certificate are stored> -alias <Root_name of your CA or Intermediate_name of your CA> -storepass changeit
注意:所需的特定证书取决于您用于签署证书的CA。在两层CA中(这是公共CA的典型做法,比内部CA更安全),您需要导入根证书和中间证书。在没有中间体的独立CA中(通常见于实验室或更简单的内部CA),您只需导入根证书。
CVP解决方案
1. 使用FQDN生成证书
此过程说明如何使用FQDN为Web服务管理器(WSM)、语音XML (VXML)、呼叫服务器和操作管理(OAMP)服务生成证书。
注意:安装CVP时,证书名称仅包括服务器的名称,而不包括FQDN,因此,您需要重新生成证书。
注意:开始之前,您必须完成以下操作:
1. 获取密钥库密码。运行命令:more %CVP_HOME%\conf\security.properties。运行keytool命令时需要此口令。
2. 将%CVP_HOME%\conf\security文件夹复制到另一个文件夹。
3. 以管理员身份打开命令窗口以运行命令。
CVP服务器
步骤1:要删除CVP服务器证书,请运行以下命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias wsm_certificate
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias vxml_certificate
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias callserver_certificate
出现提示时,输入密钥库密码。
第二步:要生成WSM证书,请运行此命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias wsm_certificate -keysize 2048 -keyalg RSA -validity XXXX
出现提示时,输入密钥库密码。
注意:默认情况下,证书的生成时间为两年。使用-validity XXXX设置重新生成证书时的到期日期,否则证书有效期为90天,并且在此时间之前需要由CA签名。对于这些证书中的大多数,3-5年必须是合理的验证时间。
以下是一些标准有效性输入:
一年 |
365 |
两年 |
730 |
三年 |
1095 |
四年 |
1460 |
五年 |
1895 |
十年 |
3650 |
注意:在12.5证书必须是SHA 256、密钥大小2048和加密算法RSA中,请使用以下参数设置这些值:-keyalg RSA和-keysize 2048。CVP密钥库命令必须包括-storetype JCEKS参数。如果不执行此操作,证书、密钥或更糟的密钥库可能会损坏。
在问题是什么的名字和姓氏时,指定服务器的FQDN?
完成以下其他问题:
您的组织单位名称是什么?
[未知]:<指定OU>
贵公司的名称是什么?
[未知]:<指定组织的名称>
您的城市或地区名称是什么?
[未知]:<指定城市/地区的名称>
您所在省/自治区/直辖市的名称是什么?
[未知]:<指定州/省的名称>
此设备的两个字母的国家/地区代码是什么?
[未知]:<指定两个字母的国家/地区代码>
为接下来的两个输入指定yes。
第三步:对vxml_certificate和callserver_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias vxml_certificate -keysize 2048 -keyalg RSA -validity XXXX
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias callserver_certificate -keysize 2048 -keyalg RSA -validity XXXX
CVP报告服务器
步骤1:要删除WSM和报告服务器证书,请运行以下命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias wsm_certificate
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias callserver_certificate
出现提示时,输入密钥库密码。
第二步:要生成WSM证书,请运行此命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias wsm_certificate -keysize 2048 -keyalg RSA -validity XXXX
出现提示时,输入密钥库密码。
指定用于查询您的姓和名的服务器的FQDN?并继续执行与CVP服务器相同的步骤。
第三步:对callserver_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias callserver_certificate -keysize 2048 -keyalg RSA -validity XXXX
CVP OAMP(UCCE部署)
由于在PCCE解决方案版本12.x中,解决方案的所有组件均由SPOG控制,并且未安装OAMP,因此仅对UCCE部署解决方案需要执行这些步骤。
步骤1:要删除WSM和OAMP服务器证书,请运行以下命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias wsm_certificate
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -delete -alias oamp_certificate
出现提示时,输入密钥库密码。
第二步:要生成WSM证书,请运行此命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias wsm_certificate -keysize 2048 -keyalg RSA -validity XXXX
出现提示时,输入密钥库密码。
指定用于查询您的姓和名的服务器的FQDN?并继续执行与CVP服务器相同的步骤。
第三步:对oamp_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -genkeypair -alias oamp_certificate -keysize 2048 -keyalg RSA -validity XXXX
出现提示时,输入密钥库密码。
2. 生成CSR
注意:符合RFC5280的浏览器要求每个证书中都包含主体备用名称(SAN)。在生成CSR时,这可以通过SAN使用-ext参数来实现。
主题备用名称
-ext参数允许用户使用特定分机。显示的示例使用服务器的完全限定域名(FQDN)和本地主机添加主题备用名称(SAN)。其他SAN字段可作为逗号分隔值添加。
有效的SAN类型包括:
ip:192.168.0.1
dns:myserver.mydomain.com
email:name@mydomain.com
例如:-ext san=dns:mycvp.mydomain.com,dns:localhost
CVP服务器
步骤1:为别名生成证书请求。运行此命令并将其保存到文件(例如,wsm_certificate):
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias wsm_certificate -file %CVP_HOME%\conf\security\wsm_certificate.csr
出现提示时,输入密钥库密码。
第二步:对vxml_certificate和callserver_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias vxml_certificate -file %CVP_HOME%\conf\security\vxml_certificate.csr
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias callserver_certificate -file %CVP_HOME%\conf\security\callserver_certificate.csr
出现提示时,输入密钥库密码。
CVP报告服务器
步骤1:为别名生成证书请求。运行此命令并将其保存到文件(例如,oampreport_certificate):
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias wsm_certificate -file %CVP_HOME%\conf\security\wsmreport_certificate.csr
出现提示时,输入密钥库密码。
第二步:对callserver_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias callserver_certificate -file %CVP_HOME%\conf\security\callserverreport_certificate.csr
出现提示时,输入密钥库密码。
CVP OAMP(UCCE部署)
步骤1:为别名生成证书请求。运行此命令并将其保存到文件(例如,oamp_certificate):
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias oamp_certificate -file %CVP_HOME%\conf\security\oamp_certificate.csr -ext san=dns:mycvp.mydomain.com,dns:localhost
Ensure to replace "mycvp.mydomain.com" with your OAMP FQDN.
Enter the keystore password when prompted.
第二步:对wsm_certificate执行相同的步骤:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -certreq -alias wsm_certificate -file %CVP_HOME%\conf\security\wsm_certificate.csr
出现提示时,输入密钥库密码。
3. 获取CA签名证书
步骤1:在CA(CVP服务器的WSM、Callserver和VXML服务器;CVP OAMP服务器的WSM和OAMP以及报告服务器的WSM和Callserver)上签署证书。
第二步:从CA机构下载应用证书和根证书。
第三步:将根证书和CA签名证书复制到每个服务器的文件夹%CVP_HOME%\conf\security\中。
4. 导入CA签名证书
将这些步骤应用于CVP解决方案的所有服务器。 仅该服务器上组件的证书需要导入CA签名证书。
步骤1:导入根证书。运行此指令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias root -file %CVP_HOME%\conf\security\<filename_of_root_cer>
出现提示时,输入密钥库密码。在Trust this certificate提示符下,键入Yes。
如果有中间证书,请运行此命令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias intermediate_ca -file %CVP_HOME%\conf\security\<filename_of_intermediate_cer>
出现提示时,输入密钥库密码。在Trust this certificate提示符下,键入Yes。
第二步:导入该服务器证书的CA签名WSM(CVP、报告和OAMP)。运行此指令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias wsm_certificate -file %CVP_HOME%\conf\security\<filename_of_wsm_CA_cer>.
出现提示时,输入密钥库密码。在Trust this certificate提示符下,键入Yes。
第三步:在CVP服务器和报告服务器中,导入Callserver CA签名证书。运行此指令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias callserver_certificate -file %CVP_HOME%\conf\security\<filename_of_callserver_CA_cer>.
出现提示时,输入密钥库密码。在Trust this certificate提示符下,键入Yes。
第四步:在CVP服务器中,导入VXML服务器CA签名证书。运行此指令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias vxml_certificate -file %CVP_HOME%\conf\security\<filename_of_vxml_CA_cer>.
第五步:在CVP OAMP服务器中(仅适用于UCCE),导入OAMP服务器CA签名证书。运行此指令:
%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -v -trustcacerts -alias oamp_certificate -file %CVP_HOME%\conf\security\<filename_of_oamp_CA_cer>.
第六步:重新启动服务器。
注意:在UCCE部署中,请确保使用生成CSR时提供的FQDN在CVP OAMP中添加服务器(报告、CVP服务器等)。
VOS服务器
1. 生成CSR证书
此过程说明如何从基于思科语音操作系统(VOS)的平台生成Tomcat CSR证书。此过程适用于所有基于VOS的应用,例如:
- CUCM
- Finesse
- CUIC \实时数据(LD) \身份服务器(IDS)
- 云连接
- 思科VVB
步骤1:导航到Cisco Unified Communications Operating System Administration页面:https://FQDN:<8443或443>/cmplatform。
第二步:导航到安全>证书管理,选择“生成CSR”。
第三步:生成CSR证书后,关闭窗口并选择Download CSR。
第四步:确保证书目的为tomcat,然后单击Download CSR。
第五步:单击Save File。该文件保存在Download文件夹中。
2. 获取CA签名证书
步骤1:对CA上导出的tomcat证书进行签名。
第二步:从CA机构下载应用和根证书。
3. 上传应用和根证书
步骤1:导航到Cisco Unified Communications Operating System Administration页面:https://FQDN:<8443或443>/cmplatform。
第二步:导航到安全>证书管理,选择上传证书/证书链。
第三步:在“上传证书/证书链”(Upload certificate/Certificate chain)窗口中,选择“证书用途”(certificate purpose)字段中的tomcat-trust,然后上传根证书。
第四步:将中间证书(如果有)作为tomcat-trust上传。
第五步:在Upload certificate/Certificate chain窗口中,在Certificate Purpose字段中选择tomcat,然后上传应用CA签名的证书。
第六步:重新启动服务器。
验证
重新启动服务器后,执行以下步骤以验证CA签名实施:
步骤1:打开Web浏览器并清除缓存。
第二步:关闭并再次打开浏览器。
现在,您必须看到证书切换以开始CA签名的证书,并且浏览器窗口中指示证书是自签的,因此不受信任,必须离开。
故障排除
本指南中没有用于排除CA签名证书实施故障的步骤。
相关信息
技术支持和文档 - Cisco Systems