本指南将向您展示如何为 VMware Horizon(现已作为 Omnissa Horizon 发布的平台)生成 CSR(证书签名请求)。您可以直接在 Windows Connection Server 上使用其已安装的工具来创建请求:Microsoft Management Console(MMC)证书管理单元。私钥保留在服务器上,您只需将 CSR 发送给证书颁发机构(CA)。
关于名称的说明:在 Broadcom 收购 VMware 之后,终端用户计算(End-User Computing)部门(包括 Horizon)于 2024 年被拆分为独立公司 Omnissa。品牌重塑工作在 2025 年 1 月发布的 Horizon 2412 版本中完成,因此较新的版本在界面、文件路径和注册表键中显示为“Omnissa Horizon”。以下证书生成步骤在 VMware Horizon View 和当前的 Omnissa Horizon(包括在 Windows Server 2025 上运行的 Connection Server)中都是相同的。
使用 MMC 证书管理单元生成 CSR
请在 Horizon Connection Server 本机上以管理员账户登录执行以下步骤。该管理单元会生成请求,并将对应的私钥保存在 Windows 证书存储中。
- 在 Windows 桌面上,点击开始,然后在搜索框中输入
mmc。 - 点击 mmc.exe 图标打开控制台。
- 依次进入文件 > 添加/删除管理单元,选择证书,然后点击添加 > 确定。
- 选择计算机账户,然后点击下一步。
- 确保选中本地计算机,然后点击完成和确定。
- 在证书(本地计算机)下,展开树形结构。
- 右键点击个人,然后依次点击:所有任务 > 高级操作 > 创建自定义请求。
- 在证书注册窗口中,点击下一步。
- 选择在没有注册策略的情况下继续,然后点击下一步。
- 在自定义请求窗口中,打开模板下拉列表,选择(无模板)旧版密钥。
- 将请求格式设置为 PKCS #10(证书请求标准),然后点击下一步。
- 在证书信息窗口中,点击详细信息旁边的箭头,然后选择属性。
- 在常规选项卡中,为请求设置一个清晰易记的名称,方便日后查找,例如 horizon-csr 2026。此阶段请不要将其命名为 vdm:Horizon 要求正好只有一个名为 vdm 的证书,而您应在安装过程中将该名称应用到已签发的证书上,而不是现在。请参阅这些步骤之后的说明。
- 打开主题选项卡,添加以下主题详细信息。从类型列表中选择每个字段,输入对应的值,然后逐一点击添加:
- 通用名称(CN):客户端用来访问服务器的完全限定域名,例如 horizon.example.com。
- 国家(C):您所在国家的两字母代码,例如 US。
- 城市(L):您组织注册所在的城市,例如 Seattle。
- 组织(O):您公司的完整法定名称,例如 GPI Holding LLC。
- 组织单位(OU):此字段对于公共证书已被弃用,因此可留空或使用通用标签,例如 IT。
- 省/州(ST):完整的省或州名称,例如 Washington。
- 仍在主题选项卡中,在备用名称部分将类型设置为 DNS,并添加客户端将用来访问 Horizon 的每个主机名(例如 Connection Server 的 FQDN 以及任何负载均衡名称)。仅当客户端通过 IP 连接时才添加 IP 条目。现代浏览器和客户端会根据主题备用名称(SAN)验证主机名,因此仅有 CN 是不够的。
- 打开私钥选项卡,展开密钥选项,将密钥大小设置为 2048 位或更高(2048 位是当前公共证书的最低要求)。
- 在同一个密钥选项区域中,勾选使私钥可导出。这样以后您可以备份该密钥或将其移动到复制的 Connection Server 上。点击确定,然后点击下一步。
- 选择保存请求的位置,将其命名为 certreq.req,然后完成向导。
您的 CSR 已经准备好了。使用任意文本编辑器(例如 Notepad)打开 certreq.req 文件,并复制整个内容块,包括 —–BEGIN NEW CERTIFICATE REQUEST—– 和 —–END NEW CERTIFICATE REQUEST—– 这两行。在下单购买 SSL 证书时,将其粘贴到 CSR 字段中。如果您更希望通过填写单个字段来生成请求,也可以将您的详细信息粘贴到我们的CSR 生成器中,不过在服务器上生成请求(如上所述)可以确保私钥保留在将使用它的机器上。
为什么友好名称“vdm”要在稍后设置
Horizon Connection Server、Security Server 以及相关服务会查找友好名称恰好为 vdm(小写)的证书。如果没有证书使用该名称,或者有两个证书共享该名称,安装就会失败。您应在安装过程中导入已签发的证书时设置该名称,而不是在生成 CSR 时设置,因为在生成 CSR 时,您通常仍有一个已经使用 vdm 名称的旧证书在正常工作。此时重命名请求会造成冲突。请在请求上使用一个简单的描述性名称,等 CA 签发新证书后再将其重命名为 vdm。
提交前检查 CSR(可选)
在将请求发送给 CA 之前,值得确认一下通用名称、SAN 条目和密钥大小是否正确。在 Connection Server 上,内置的 certutil 工具可以读取该请求:
certutil -dump certreq.req
如果您可以使用 OpenSSL,以下命令可以打印出相同的详细信息:
openssl req -noout -text -in certreq.req
更喜欢使用在线工具?将请求内容粘贴到 SSL Dragon 的CSR 解码器中,即可查看通用名称、SAN 条目和密钥大小。请确认通用名称与客户端使用的主机名一致,并且所有必需的名称都出现在主题备用名称列表中。SSL Checker 是另一种不同的工具:它扫描的是已经安装并正在提供 HTTPS 服务的证书,因此应在安装完成之后使用它,而不是用在 CSR 文件上。
后续步骤
在 CA 验证 CSR 并签发证书后,请继续参阅VMware Horizon(Omnissa Horizon)SSL 安装说明。您将在那里导入证书、将其重命名为 vdm,并重启 Horizon 服务以使新证书生效。
常见问题
是的。Horizon 曾是 VMware 终端用户计算部门的一部分,该部门于 2024 年拆分为独立公司 Omnissa。该产品现已作为 Omnissa Horizon 发布,品牌重塑工作在 Horizon 2412 版本(2025 年 1 月)中完成。无论使用哪个名称,CSR 和证书的操作步骤都是相同的。
MMC 证书管理单元会将私钥以待处理请求的形式保存在 Connection Server 的本地计算机证书存储中。您永远不会将该密钥发送给 CA。由于您已勾选使私钥可导出,之后您可以将其(与已签发的证书一起)导出,以进行备份或复制到复制的服务器上。
不应该。Horizon 要求正好只有一个名为 vdm 的证书,而您当前正在使用的证书通常已经使用了该名称。请为请求设置一个不同的描述性名称,然后在安装过程中将已签发的证书重命名为 vdm。如果有两个证书都命名为 vdm,会导致 Horizon 服务出现故障。
是的,凡是客户端实际使用的名称都必须包含。当前的浏览器和 Horizon 客户端是根据主题备用名称(SAN)而不是通用名称来验证主机名的。请为 Connection Server 的 FQDN 以及任何负载均衡或别名添加 DNS 条目,仅当客户端通过 IP 地址连接时才添加 IP 条目。
可以。Microsoft 的 certreq 命令行工具可以生成等效的 PKCS #10 请求。您需要创建一个请求 INF 文件,在其中设置主题、2048 位或更高的密钥长度、可导出密钥,以及在扩展部分下的 SAN 条目,然后运行 certreq -new request.inf certreq.req。本指南中的 MMC 方法通过向导实现相同的功能,如果您只需要执行一次,这种方式会更加简便。


