目录

简介

先决条件

要求

使用的组件

背景信息

证书创建

在Window服务器上生成证书

生成证书签名请求(CSR)

向CA提交CSR并生成证书

导出私钥并转换为PEM格式

在Linux服务器上生成证书(Strict SSL check DISABLED)

生成自签名RootCA

为每个服务生成证书

生成私钥

生成 CSR

生成证书

在Linux服务器上生成证书（启用严格SSL检查）

生成自签名RootCA

为每个服务生成证书

创建扩展配置文件并保存(extensions.cnf)

生成私钥

生成 CSR

生成证书

将证书添加到安全控制台私有云

验证

故障排除

简介

本文档介绍生成证书的过程，每次全新安装安全控制台私有云时必须上传这些证书，或者更新已安装的证书服务。

先决条件

要求

本文档中的信息基于以下软件和硬件版本：

- Windows Server 2008

- CentOS 7/8

- 安全控制台虚拟私有云3.0.2（以后）

- OpenSSL 1.1.1

使用的组件

Cisco 建议您了解以下主题：

- Windows Server 2008（以后）

- 安全控制台私有云安装

- 公用密钥基础结构

- OpenSSL

- Linux CLI

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

引入安全控制台私有云3.X后，以下所有服务都需要主机名和证书/密钥对：

- 管理门户

- 身份验证（私有云3.X中的新功能）

- 安全控制台

- 处置服务器

- Disposition Server — 扩展协议

- 处置更新服务

- Firepower 管理中心

本文档将讨论生成和上传所需证书的快速方法。您可以根据组织策略调整每个参数，包括散列算法、密钥大小和其他参数，并且生成这些证书的机制可能与此处详细介绍的内容不匹配。

警告：下面提到的步骤可能因您的CA服务器配置而异。预期您选择的CA服务器已调配，并且配置已完成。以下技术说明仅介绍生成证书的示例，思科TAC不参与任何类型的证书生成和/或CA服务器问题的故障排除。

证书创建

在Window服务器上生成证书

确保在Windows Server上安装并配置以下角色。

- Active Directory证书服务

- 证书颁发机构

- 证书颁发机构Web注册

- 在线响应器

- 证书注册Web服务

- 证书注册策略Web服务

- Active Directory 域服务

- DNS Servers

- Web服务器(IIS)

生成证书签名请求(CSR)

步骤1:导航到MMC控制台，然后添加计算机帐户的证书管理单元，如下图所示。

第二步：向下钻取证书（本地计算机）>个人>证书。

第三步：右键单击空白区域，然后选择所有任务>高级操作>创建自定义请求。

第四步：在“登记”窗口中选择下一步。

第五步：选择证书注册策略，然后选择下一步。

第六步：选择模板作为Web Server，然后选择下一步。

步骤 7.如果您的“Web服务器”模板已正确配置且可用于注册，则会显示“可用”状态。选择Details展开Properties。

步骤 8至少添加CN和DNS属性。可以根据您的安全要求添加其余属性。

步骤 9或者，在General选项卡下提供一个友好名称。

步骤 10选择Private Key选项卡，并确保在Key Options部分下启用了Make private key exportable。

步骤 11最后，选择OK。这必须引导您进入Certificate Enrollment对话框，从中可以选择Next。

步骤 12浏览到保存提交到CA服务器进行签名的.req文件的位置。

向CA提交CSR并生成证书

步骤1:导航到您的MS AD证书服务网页（如下所示），然后选择Request a Certificate。

第二步：选择advanced certificate request链接。

第三步：选择Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file，或选择submit a renewal request by using a base-64-encoded PKCS #7 file。

第四步：通过记事本打开以前保存的.req文件(CSR)的内容。复制内容并粘贴到此处。确保证书模板被选为Web服务器

第五步：最后，选择Submit。

第六步：此时，您必须能够下载证书，如图所示。

导出私钥并转换为PEM格式

步骤1:通过打开.cer文件并选择安装证书，将证书安装到证书存储区。

第二步：导航到之前选择的MMC管理单元。

第三步：导航到安装证书的商店。

第四步：右键单击正确的证书，选择所有任务>导出。

第五步：在证书导出向导中，确认导出私钥，如图所示。

第六步：输入密码，然后选择Next将私钥保存到磁盘上。

步骤 7.这会以.PFX格式保存私钥，但是，需要将其转换为.PEM格式才能将其用于安全终端私有云。

步骤 8安装OpenSSL库。

步骤 9打开命令提示符窗口，并切换到安装OpenSSL的目录。

步骤 10运行以下命令提取私钥并将其保存到新文件：（如果PFX文件与存储OpenSSL库的路径不同，则必须指定确切路径以及文件名）

openssl pkcs12 -in yourpfxfile.pfx -nocerts -out privatekey.pem -nodes

步骤 11现在运行以下命令来提取公共证书并将其保存到新文件：

openssl pkcs12 -in yourpfxfile.pfx -nokeys -out publiccert.pem -nodes

在Linux服务器上生成证书(Strict SSL check DISABLED)

注意:严格TLS检查验证证书是否符合Apple的TLS要求。有关详细信息，请参阅管理员指南。

确保您尝试生成所需证书的Linux服务器安装了OpenSSL 1.1.1库。验证此操作以及下面列出的过程是否可能与您运行的Linux发行版不同。此部分已编档，在CentOS 8.4服务器上完成。

生成自签名RootCA

步骤1:生成根CA证书的私钥。

openssl genrsa -out

4096

第二步：生成CA证书。

openssl req \

-subj '/CN=

/C=US/OU=

/O=

' \

-addext "extendedKeyUsage = serverAuth, clientAuth" \

-outform pem -out

\

-key

-new -x509 \

-days "1000"

为每个服务生成证书

根据DNS名称条目为身份验证、控制台、性质、性质扩展、更新服务器、Firepower管理中心(FMC)服务创建证书。您需要为每个服务（身份验证、控制台等）重复以下证书生成过程。

生成私钥

openssl genrsa -out

4096

将<YourServiceName.key>替换为要创建为Auth-Cert.key的新密钥文件名

生成 CSR

openssl req -new \

-subj '/CN=

/C=US/OU=

/O=

' \

-key

-out

更换 <YourServiceName.key>使用当前（或新）证书KEY文件，例如Auth-Cert.key

将<YourServiceName.csr>替换为要创建的CSR文件名，例如Auth-Cert.crt

生成证书

openssl x509 -req \

-in

-CA

\

-CAkey

-CAcreateserial -out

\

-days 397 -sha256

将<YourServiceName.csr>替换为实际（或新）证书CSR，例如Auth-Cert.csr

将<YourRootCAName.pem>替换为实际（或新）的PEM文件名RootCAName.pem

使用当前（或新）证书KEY文件（例如Auth-Cert.key）替换<YourServiceName.key>

使用要创建的文件名（例如Auth-Cert.crt）替换<YourServiceName.crt>

在Linux服务器上生成证书（启用严格SSL检查）

注意:严格TLS检查验证证书是否符合Apple的TLS要求。有关详细信息，请参阅管理员指南。

生成自签名RootCA

步骤1:生成根CA证书的私钥。

openssl genrsa -out

4096

第二步：生成CA证书。

openssl req \

-subj '/CN=

/C=US/OU=

/O=

' \

-outform pem -out

\

-key

-new -x509 \

-days "1000"

为每个服务生成证书

根据DNS名称条目为身份验证、控制台、性质、性质扩展、更新服务器、Firepower管理中心(FMC)服务创建证书。您需要为每个服务（身份验证、控制台等）重复以下证书生成过程。

创建扩展配置文件并保存(extensions.cnf)

[v3_ca]

basicConstraints = CA:FALSE

keyUsage = critical, digitalSignature, keyEncipherment

extendedKeyUsage = critical, serverAuth, clientAuth

生成私钥

openssl genrsa -out

4096

用要作为Auth-Cert.key创建的新KEY文件名替换<YourServiceName.key>

生成 CSR

openssl req -new \

-key

\

-subj '/CN=

/C=US/OU=

/O=

' \

-out

更换 <YourServiceName.key>使用当前（或新）证书KEY，例如Auth-Cert.key

使用当前（或新）证书CSR（例如Auth-Cert.csr）替换<YourServiceName.csr>

生成证书

openssl x509 -req -in

\

-CA

-CAkey

\

-CAcreateserial -out

\

-extensions v3_ca -extfile extensions.cnf \

-days 397 -sha256

使用当前（或新）证书CSR（例如Auth-Cert.csr）替换<YourServiceName.csr>

将<YourRootCAName.pem>替换为当前（或新）的PEM文件名RootCAName.pem

使用当前（或新）证书KEY文件（例如Auth-Cert.key）替换<YourServiceName.key>

使用要创建的文件名（例如Auth-Cert.crt）替换<YourServiceName.crt>

将证书添加到安全控制台私有云

步骤1:从上述任一方法生成证书后，上传每个服务的相应证书。如果正确生成，则会启用所有复选标记，如图所示。

验证

当前没有可用于此配置的验证过程。

故障排除

目前没有针对此配置的故障排除信息。