简介
本文档介绍如何为Industrial Network Director(IND)和身份服务引擎之间的pxGrid集成创建SAN证书。
背景信息
在Cisco ISE中为pxGrid使用创建证书时,无法将服务器短主机名输入到ISE GUI,因为ISE仅允许FQDN或IP地址。
要创建包含主机名和FQDN的证书,必须在ISE之外创建证书请求文件。可以使用OpenSSL创建证书签名请求(CSR)和主题备用名称(SAN)字段条目。
本文档不包括在IND服务器和ISE服务器之间启用pxGrid通信的全面步骤。 这些步骤可在配置pxGrid后使用,并确认需要服务器主机名。 如果在ISE分析器日志文件中发现此错误,则通信需要主机名证书。
Unable to get sync statusjava.security.cert.CertificateException: No subject alternative DNS name matching <IND server hostname> found.
通过pxGrid通信初始部署IND的步骤位于https://www.cisco.com/c/dam/en/us/td/docs/switches/ind/install/IND_PxGrid_Registration_Guide_Final.pdf
所需的应用程序
- 思科工业网络导向器(IND)
- 思科身份服务引擎(ISE)
- OpenSSL
其他信息
本文档使用以下详细信息:
- IND服务器主机名:rch-mas-ind
- FQDN:rch-mas-ind.cisco.com
- OpenSSL配置:rch-mas-ind.req
- 证书请求文件名:rch-mas-ind.csr
- 私钥文件名:rch-mas-ind.pem
- 证书文件名:rch-mas-ind.cer
流程步骤
创建证书CSR
- 在安装了OpenSSL的系统上,为OpenSSL选项(包括SAN信息)创建请求文本文件。
- 大多数“_default”字段是可选的,因为在步骤10中运行OpenSSL命令时可以输入答#2。
- SAN详细信息(DNS.1、DNS.2)是必需的,必须包括DNS短主机名和服务器的FQDN。如果需要,可以使用DNS.3、DNS.4等添加其他DNS名称。
- 请求文件文本文件示例:
[req] distinguished_name =名称 req_extensions = v3_req [姓名 ] countryName =国家/地区名称(2个字母代码) countryName_default =美国 stateOrProvinceName =省或省名称(全称) stateOrProvinceName_default = TX localityName =城市 localityName_default = Cisco Lab organizationalUnitName =组织单位名称(例如,IT) organizationalUnitName_default = TAC commonName =通用名称(例如,您的名称) commonName_max = 64 commonName_default = rch-mas-ind.cisco.com emailAddress =电子邮件地址 emailAddress_max = 40 [v3_req] keyUsage = keyEncipherment、dataEncipherment extendedKeyUsage = serverAuth、clientAuth subjectAltName = @alt_names [alt_names] DNS.1 = rch-mas-ind DNS.2 = rch-mas-ind.cisco.com |
- 使用OpenSSL在SAN字段中创建具有DNS短主机名的CSR。除CSR文件外,创建私钥文件。
- 命令:
openssl req -newkey rsa:2048 -keyout <server>.pem -out <server>.csr -config <server>.req
- 出现提示时,输入您选择的密码。 请务必记住此密码,在后面的步骤中会用到它。
- 出现提示时,请输入有效的电子邮件地址,或将该字段留空,然后按<ENTER>。
- 如果需要,请验证CSR文件信息。对于SAN证书,请检查“x509v3 Subject Alternative Name”(x509v3主题备用名称),如本屏幕截图中所突出显示。
- 命令行:
openssl req -in <server>.csr -noout -text
- 在文本编辑器中打开CSR文件。 出于安全原因,示例屏幕截图不完整且经过编辑。 实际生成的CSR文件包含更多行。
- 将私钥文件(<server>.pem)复制到您的PC,就像在后续步骤中所使用的一样。
使用思科ISE生成证书,使用创建的CSR文件信息
在ISE GUI中:
- 删除现有的pxGrid客户端。
- 导航到Administration > pxGrid Services > All Clients。
- 查找并选择现有客户端主机名(如果列出),
- 如果找到并选中,请点击Delete按钮,然后选择“Delete Selected”。 根据需要进行确认。
- 创建新证书。
- 点击pxGrid服务页面上的Certificates选项卡。
- 选择以下选项:
- “我想”:
- "证书签名请求详细信息:
- 从文本编辑器中复制/粘贴CSR详细信息。 请务必包含BEGIN和END行。
- "证书下载格式"
- "隐私增强型电子邮件(PEM)格式的证书,PKCS8 PEM格式的密钥。"
- 输入证书密码并确认。
- 点击Create按钮。
- 这将创建和下载包含证书文件以及证书链的其他文件的ZIP文件。打开ZIP并解压缩证书。
- 文件名通常为<IND server fqdn>.cer
- 在ISE的某些版本中,文件名是<IND fqdn>_<IND short name>.cer
将新证书导入IND服务器,并启用它以供pxGrid使用
在IND GUI中:
- 禁用pxGrid服务,以便可以导入新证书并将其设置为活动证书。
- 导航到Settings(设置)> pxGrid。
- 单击以禁用pxGrid。
- 将新证书导入系统证书。
- 导航到Settings(设置)> Certificate Management(证书管理)。
- 点击“System Certificates”(系统证书)
- 点击“添加证书”。
- 输入证书名称。
- 单击“证书”左侧的“浏览”,然后找到新的证书文件。
- 点击“证书”左侧的“浏览”,并找到创建CSR时保存的私钥。
- 输入之前使用OpenSSL创建私钥和CSR时使用的密码。
- 点击“上传”。
- 将新证书导入为受信任证书。
- 导航到Settings > Certificate Management,点击Trusted Certificates。
- 点击“添加证书”。
- 输入证书名称;该名称必须不同于系统证书上使用的名称。
- 点击“证书”左侧的“浏览”并找到新的证书文件。
- 密码字段可以留空。
- 点击“上传”。
- 设置pxGrid以使用新证书。
- 导航到Settings(设置)> Certificate Management(证书管理),单击Settings(设置)。
- 如果尚未完成,请选择“pxGrid”下的“CA证书”。
- 选择在证书导入过程中创建的系统证书名称。
- Click Save.
在ISE服务器中启用并注册pxGrid
在IND GUI中:
- 导航到Settings(设置)> pxGrid。
- 点击滑块以启用pxGrid。
- 如果这不是第一次在此IND服务器上向ISE注册pxGrid,请选择“使用现有节点连接”。 会自动填充IND节点和ISE服务器信息。
- 要注册新的IND服务器以使用pxGrid,如果需要,请选择“注册新节点”。 输入IND节点名称,并根据需要选择ISE服务器。
- 如果ISE服务器未列在服务器1或服务器2的下拉选项中,可以使用Settings > Policy Server将其添加为新的pxGrid服务器
- 点击Register。屏幕上会显示确认消息。
在ISE服务器中批准注册请求
在ISE GUI中:
- 导航到Administration > pxGrid Services > All Clients。 待批准请求显示为“待批准总数(1)”。
- 点击“待批总数(1)”,然后选择“全部批准”。
- 在显示的弹出窗口中,点击“全部批准”。
- IND服务器显示为客户端,如下所示。
在IND服务器中激活pxGrid服务
在IND GUI中:
- 导航到Settings(设置)> pxGrid。
- 点击“激活”。
- 屏幕上会显示确认消息。