ME4:使用 Active Directory 证书服务生成自定义安全证书
Summary: 这些说明介绍了如何使用 OpenSSL 和 Active Directory 证书服务 (ADCS) 创建两个自定义 SSL 证书(每个控制器各一个证书)。这些证书可与 ME4 控制器的通用完全限定域名 (FQDN) 以及每个单独控制器的 FQDN 系统名称配合使用。
Instructions
-
为域安装 Active Directory 证书服务并配置服务
-
记录每个 ME4 控制器的 IP、域名系统 (DNS) 服务器 IP、搜索域和系统名称
-
OpenSSL
-
验证 ME4 使用的 DNS 服务器,以及验证 AD 域是否支持轮询 DNS
对于本文,ME4 使用了以下 FQDN DNS 名称。任何名称都有效,这些是示例名称。替换为您的域名和首选名称。
-
通用名称:me4.mscerttest.com
-
控制器 A 名称:me4-a.mscerttest.com
-
控制器 B 名称:me4-b.msccerttest.com
两个 AD 证书服务 (CS) 和 ME4 必须使用相同的 DNS 服务器。DNS 服务器必须支持轮询 DNS,以便为两个控制器使用通用 FQDN 名称。默认情况下,Microsoft DNS 支持轮询 DNS。在我们的示例中,DNS 服务器 IP 为 10.240.225.174。
在 DNS 服务器上,创建以下 A 记录。在我们的示例中,A 控制器的 IP 是 10.240.225.6,B 控制器的 IP 是 10.240.225.7。对于您的环境,请使用您的域名和 IP。
-
为 IP 为 10.240.225.6 的 me4.mscerttest.com 创建 A 记录
-
为 IP 为 10.240.225.7 的 me4.mscerttest.com 创建 A 记录
-
为 IP 为 10.240.225.6 的 me4-a.mscertest.com 创建 A 记录
-
为 IP 为 10.240.225.7 的 me4-b.mscerttest.com 创建 A 记录
使用 nslookup 验证通用 FQDN (me4.mscerttest.com) 是否会返回两个控制器的 IP 地址,从而验证轮询 DNS。
C:\Users\Administrator>nslookup
默认服务器: localhost
地址: 127.0.0.1
> me4.mscerttest.com
服务器: localhost
地址: 127.0.0.1
Name: me4.mscerttest.com
Addresses:10.240.225.7
10.240.225.6
ME4 上使用的系统名称、域名和 DNS 服务器应与 AD CS 使用的系统名称、域名和 DNS 服务器匹配。
打开 ME4 UI 并选择作 -> 系统设置。转至“Network”选项卡。
-
在 IP 页面上,验证 A 控制器和 B 控制器的 IP,并验证 DNS 中设置的 A 记录

-
在 DNS 页面上,验证:
-
每个控制器的搜索域是否与 AD CS 域匹配
-
每个控制器的主机名是否与应用于各个控制器 A 记录的 DNS 名称匹配
-
DNS 服务器是否与 ADCS 使用的 DNS 相同

接下来,使用文本编辑器创建两个配置文件。这些文件用于为 OpenSSL 中的控制器生成证书请求文件。目前有两个文件 — 一个用于 A 控制器,另一个用于 B 控制器。根据 A 和 B 控制器的环境,“Related”选项卡上附加了示例。
这些文件的内容在文本编辑器中如下所示。
[ req ]default_bits = 2048distinguished_name = req_distinguished_namereq_extensions = req_extprompt = no
[ req_distinguished_name ]countryName = USstateOrProvinceName = New HampshirelocalityName = NashuaorganizationName = DellorganizationalUnitName = ITcommonName = me4-a.mscerttest.com
[ req_ext ]subjectAltName = @alt_names[alt_names]DNS.1 = me4.mscerttest.comDNS.2 = me4-a.mscerttest.com
在每个控制器配置文件(一个用于 ME4-A,另一个用于 ME4-B)中,修改文件内的以下字段,以匹配您的名称和域。
-
commonName 和 alt_names 中的通用名称和控制器名称必须与该控制器的环境匹配
-
如果使用 2048 以外的值作为密钥大小,请在 default_bits 中修改该信息
-
countryName、stateOrProvinceName、localityName、organizationName 和 organizationalUnitName 必须与公司信息匹配
完成后,应该有两个文本文件 — ME4-A.cnf 和 ME4-B.cnf — 它们具有您的环境所需的名称和配置。
ME4 是外部存储,因此必须通过 OpenSSL 生成证书请求才能呈现给 ADCS。第一步是安装 OpenSSL(如果尚未安装)。为了方便起见,在ADCS上安装了Windows版本。OpenSSL 可以位于 Linux 服务器或其他一些 Windows 服务器上,并且仍能够生成证书请求。
可以下载 Windows 版本的 OpenSSL@https://slproweb.com/products/Win32OpenSSL.html
选择 64 位 OpenSSL 完整版并安装。
在安装后,按 Windows 的“开始”按钮,浏览到“程序”列表中的“OpenSSL”。其下面有一个对应于 Win64 OpenSSL 命令提示符的图标。单击该图标,就会打开“DOS 命令”窗口,其中包含用于运行 OpenSSL 的所有相应设置命令。在下一节中使用命令提示符。

启动“Win64 OpenSSL 命令提示符”窗口。在该窗口打开后,通过 cd 命令切换到 ME4-A.cnf 和 ME4-B.cnf 文件所在的目录。以下步骤将完成两次 - 一次用于 ME4-A 文件,一次用于 ME4-B 文件。
对于控制器证书请求,请使用 ME4-A.cnf 文件。以下这个命令将为 A 控制器生成私钥文件和证书请求文件。
openssl req -out ME4-A.csr -newkey rsa:2048 -nodes -keyout ME4-A.key -config ME4.cnf
命令执行完毕后,会出现”ME4-A.csr“(A 的证书请求文件)和”ME4-A.key“(A 的私钥文件)。
对 B 控制器重复此作,在命令行中将 ME4-A 替换为 ME4-A。完成这些步骤后,应该需要四个文件来生成我们的两个证书:
-
ME4-A.csr -
ME4-A.key -
ME4-B.csr -
ME4-B.key
将这些文件复制到 AD CS 服务器,以准备生成证书。
复制”.key“和”.csr“文件复制到 ADCS 服务器上的目录。在 ADCS 服务器上打开 DOS 命令提示符。在命令提示符处,使用“cd”命令以切换到包含这些文件的目录。此示例使用标准 ADCS 模板 Webserver 作为模板。如果需要的参数与 Web 服务器模板中的参数不同,请创建您自己的模板并在下面的命令中引用它。
运行以下命令以生成 A 控制器的证书。
certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cer
由于此示例使用的是 ADCS 服务器,因此无需添加选项 -config DOMAINCA\CA1 即可在命令行上定义 ADCS。在 ADCS 服务器上运行命令时,屏幕上会出现一个对话框,显示 ADCS 并允许进行选择。

命令完成后,它会在命令行输出中显示请求 ID。此外,还会在该目录中创建 ME4-A.cer 文件(这是所需的证书)。
C:\Users\Administrator\Downloads\ME4Certs>certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cerActive Directory Enrollment Policy {0CCDC8D2-7840-40BE-819F-A7EA9535C5D6} ldap:RequestId: 19RequestId: "19"Certificate retrieved(Issued) Issued
显示的请求 ID 为 19,现在可以在 AD 证书颁发机构的 MMC 中显示为“Issued Certificates”(已颁发的证书)下的有效证书。

要查看证书的参数,请右键单击该请求 ID,然后选择“Open”。

此证书对通用名称 me4.mscerttest.com 和控制器名称 me4-a.mscerttest.com 均有效,因为证书使用者在我们的配置文件中使用备用名称。
对 B 控制器重复此作,在命令行中将 ME4-A 替换为 ME4-A。这将为此证书生成不同的请求 ID,因为 A 和 B 证书是两个不同的证书。
完成此作后,目录应有两个证书文件。这些文件及其关联的”.key“文件是上传到 ME4 A 和 B 控制器的文件。复制使用 ADCS 生成的 A 和 B .cer文件,然后复制“ A 和 B ”.key“的文件复制到公共目录,以用于下一步。
-
ME4-A.cer -
ME4-A.key -
ME4-B.cer -
ME4-B.key
使用 FTP 将 A 证书和 A 密钥文件传输到 A 控制器,并对 B 证书和密钥文件执行相同的作。然后,重新启动两个控制器上的管理服务以启用证书。
另一篇戴尔支持文章 PowerVault ME4 中对此上传进行了介绍:安装和删除自定义证书
此次上传与该文章有两个不同之处。
-
该文章中要上传的文件的名称以”
.pem”-
文件扩展名不必更改”
.cer“和”.key“,可以按原样使用。
-
-
FTP 上传结束时出现错误,因为 ME4 不知道如何联系 AD CS 证书颁发机构来验证证书。证书已正确上传且有效,因此您可以忽略该错误。该错误如下所示:
Verifying uploaded certificate and key.ERROR: cert verify FAILED. <C = US, ST = New Hampshire, L = Nashua, O = Dell, OU = IT, CN = me4-a.mscerttest.comerror 20 at 0 depth lookup: unable to get local issuer certificateerror /mnt/ramdisk/apphome/cert-file.pending: verification failed>Warning: The uploaded SSL certificate did not pass openssl validation.
验证证书是否没有 SSL 错误
最后的步骤是:
-
打开浏览器
-
创建与通用名称的 https 连接
-
创建与 A 控制器和 B 控制器的 FQDN 的 https 连接
-
确保未发生 SSL 错误
提醒:当您使用通用名称时,它在默认情况下会反复地转至其中一个控制器。验证通用名称是否连接到另一个控制器。这可以通过重新启动通用名称使用的控制器上的管理服务来完成。现在,确认它连接到该通用 FQDN 的另一个控制器。
