bg-tutorials

如何在 VMWare Horizon View 上生成 CSR

本指南将向您展示如何为 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 证书存储中。

  1. 在 Windows 桌面上,点击开始,然后在搜索框中输入 mmc
  2. 点击 mmc.exe 图标打开控制台。
  3. 依次进入文件 > 添加/删除管理单元,选择证书,然后点击添加 > 确定
  4. 选择计算机账户,然后点击下一步
  5. 确保选中本地计算机,然后点击完成确定
  6. 证书(本地计算机)下,展开树形结构。
  7. 右键点击个人,然后依次点击:所有任务 > 高级操作 > 创建自定义请求
  8. 证书注册窗口中,点击下一步
  9. 选择在没有注册策略的情况下继续,然后点击下一步
  10. 自定义请求窗口中,打开模板下拉列表,选择(无模板)旧版密钥
  11. 将请求格式设置为 PKCS #10(证书请求标准),然后点击下一步
  12. 证书信息窗口中,点击详细信息旁边的箭头,然后选择属性
  13. 常规选项卡中,为请求设置一个清晰易记的名称,方便日后查找,例如 horizon-csr 2026。此阶段请不要将其命名为 vdm:Horizon 要求正好只有一个名为 vdm 的证书,而您应在安装过程中将该名称应用到已签发的证书上,而不是现在。请参阅这些步骤之后的说明。
  14. 打开主题选项卡,添加以下主题详细信息。从类型列表中选择每个字段,输入对应的值,然后逐一点击添加
    • 通用名称(CN):客户端用来访问服务器的完全限定域名,例如 horizon.example.com
    • 国家(C):您所在国家的两字母代码,例如 US
    • 城市(L):您组织注册所在的城市,例如 Seattle
    • 组织(O):您公司的完整法定名称,例如 GPI Holding LLC
    • 组织单位(OU):此字段对于公共证书已被弃用,因此可留空或使用通用标签,例如 IT
    • 省/州(ST):完整的省或州名称,例如 Washington
  15. 仍在主题选项卡中,在备用名称部分将类型设置为 DNS,并添加客户端将用来访问 Horizon 的每个主机名(例如 Connection Server 的 FQDN 以及任何负载均衡名称)。仅当客户端通过 IP 连接时才添加 IP 条目。现代浏览器和客户端会根据主题备用名称(SAN)验证主机名,因此仅有 CN 是不够的。
  16. 打开私钥选项卡,展开密钥选项,将密钥大小设置为 2048 位或更高(2048 位是当前公共证书的最低要求)。
  17. 在同一个密钥选项区域中,勾选使私钥可导出。这样以后您可以备份该密钥或将其移动到复制的 Connection Server 上。点击确定,然后点击下一步
  18. 选择保存请求的位置,将其命名为 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 服务以使新证书生效。

常见问题

VMware Horizon 和 Omnissa Horizon 是同一个产品吗?

是的。Horizon 曾是 VMware 终端用户计算部门的一部分,该部门于 2024 年拆分为独立公司 Omnissa。该产品现已作为 Omnissa Horizon 发布,品牌重塑工作在 Horizon 2412 版本(2025 年 1 月)中完成。无论使用哪个名称,CSR 和证书的操作步骤都是相同的。

创建 CSR 后私钥保存在哪里?

MMC 证书管理单元会将私钥以待处理请求的形式保存在 Connection Server 的本地计算机证书存储中。您永远不会将该密钥发送给 CA。由于您已勾选使私钥可导出,之后您可以将其(与已签发的证书一起)导出,以进行备份或复制到复制的服务器上。

生成 CSR 时应该将友好名称设置为 vdm 吗?

不应该。Horizon 要求正好只有一个名为 vdm 的证书,而您当前正在使用的证书通常已经使用了该名称。请为请求设置一个不同的描述性名称,然后在安装过程中将已签发的证书重命名为 vdm。如果有两个证书都命名为 vdm,会导致 Horizon 服务出现故障。

是否必须包含主题备用名称?

是的,凡是客户端实际使用的名称都必须包含。当前的浏览器和 Horizon 客户端是根据主题备用名称(SAN)而不是通用名称来验证主机名的。请为 Connection Server 的 FQDN 以及任何负载均衡或别名添加 DNS 条目,仅当客户端通过 IP 地址连接时才添加 IP 条目。

我可以使用 certreq 而不是 MMC 来生成 CSR 吗?

可以。Microsoft 的 certreq 命令行工具可以生成等效的 PKCS #10 请求。您需要创建一个请求 INF 文件,在其中设置主题、2048 位或更高的密钥长度、可导出密钥,以及在扩展部分下的 SAN 条目,然后运行 certreq -new request.inf certreq.req。本指南中的 MMC 方法通过向导实现相同的功能,如果您只需要执行一次,这种方式会更加简便。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.