VMware 是一家总部位于美国的软件公司,专注于云计算与虚拟化软件及服务。VMware 开发了丰富的产品线,涵盖桌面软件、服务器软件、云管理软件、应用平台以及备份软件等,其产品可方便地适配 Microsoft Windows、Linux 与 Mac OS X。

VMware Server 是一款能够创建虚拟机并运行于 Windows 与 Linux 系统的动态产品。本文将介绍如何在 VMware Server 上安装 SSL 证书。

获取 SSL 证书

获取 SSL 证书有两种方式:一是创建自签名证书,二是向受信任的第三方证书颁发机构(CA)购买证书。其中,自签名证书并不推荐,因为它无法有效保护服务器免受入侵者的窃听。建议从证书颁发机构(CA)购买 SSL 证书,全球知名的 CA 包括 Symantec、GeoTrust、RapidSSL、Comodo、GlobalSign、AlphaSSL、Thawte 等。

选择合适的证书

CA 针对不同的安全需求签发多种类型的证书,SSL 证书主要可分为以下三类:

单服务器名称证书(Single Server Name Certificate):用于保护并确认单一服务器的身份,例如 www.test.com。适用于使用单个 View Connection Server 实例、或通过单一 URL 向用户提供 View 环境访问的场景。

主题备用名称证书(SAN,Subject Alternative Names):适用于需要使用一张证书保护多个服务器名称的场景,例如 www.test.com 与 www.test-first.com 可共用一张证书。

通配符 SSL 证书(Wildcard SSL):在域名/服务器名称前使用通配符「*」,可保护多个子域服务器,新增子域也可纳入保护,例如 *.abc.com 可保护 test.abc.com。

创建证书签名请求(CSR)

为获取 SSL 证书,需要基于配置文件生成 CSR,并将其提交给 CA。CA 签发证书后,需将已签名的 SSL 证书导入并存放到保存私钥的 View Server 主机上。CSR 的生成方式因证书类型而异。在 Windows Server 2008 R2 上,可使用 Microsoft certreq 工具生成 CSR 并导入已签名证书。

创建 CSR 配置文件:certreq 工具通过读取配置文件来生成 CSR。在文本编辑器中粘贴以下代码(含起始与结束标记)即可创建 request.inf:

;----------------- request.inf -----------------
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=View_Server_FQDN, OU=Organizational_Unit, O=Organization, L=City, S=State, C=Country"
; 将 View_Server_FQDN 替换为 View 服务器的 FQDN,其余 Subject 字段也相应替换
KeySpec = 1
KeyLength = 2048
; KeyLength 一般可选 2048、3072 或 4096;1024 虽支持但不推荐
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; 用于服务器身份验证
;-----------------------------------------------

将 Subject 属性替换为 View 服务器与部署相关的实际值,部分 CA 可能限制使用「State」属性的缩写。密钥长度属性通常默认 2048,仅在特殊需求下修改——密钥越长安全性越高,但也可能降低性能。将文件保存为 request.inf。

提交 CSR 申请已签名证书

借助配置文件,使用 certreq 工具生成 CSR 并提交给第三方 CA:以管理员身份打开命令提示符,进入 request.inf 所在目录,执行类似 certreq –new request.inf certreq.txt 的命令生成 CSR 文件;用文本编辑器打开 CSR 文件,复制包含起止标记的全部内容,按 CA 的注册流程提交证书申请。CA 完成验证后会签发证书,并将加密的私钥随证书一同发送。

将证书保存为 cert.cer 存放于 View 服务器;CA 还会提供根证书与中间证书,分别保存为 root.cer 与 intermediate.cer。

导入证书

可使用 certreq 工具或其他方式导入证书。使用 certreq 时,私钥位于生成 CSR 的服务器本地;也可通过 Microsoft 管理控制台(MMC)管理单元导入证书。以管理员身份打开命令提示符,进入 cert.cer 所在目录,执行 certreq -accept 命令导入证书,随后即可在服务器上使用。

为 View Server 绑定已导入证书

导入后,还需执行以下步骤将 SSL 证书集成到 View Server:核对已导入的证书;将证书命名为 vdm;安装根证书与中间 CA 证书;重启 View Connection Server 服务、安全服务器服务或 View Composer 服务,使 View 服务加载 SSL 证书。

转换证书文件

若私钥与证书为 PEM 或其他格式,需要将其转换为 PKCS#12(PFX)格式后再使用。