1、关于 view client 连接虚拟桌面报证书错误的解决办法问题现象:如图问题原因:问题原因是安装 view 连接服务器、安全服务器或 view composer 服务器时,VMware 会自签一个证书(或者是自动生成一个证收) ,而这个证书是不被 view client 端所在的 PC 端信任的,所以造成这个报错解决办法:如果要解决这个问题,一般是要有一个 CA 中心或第三方 CA,这个CA 是证书颁发中心也是证书管理中心。解决问题的环境如下:1、 微软 AD 服务器 ,这是 view 环境必须有的2、 在这台微软 AD 服务器上添加证书这个功能 ,如图:要添加这个证书服务的前提条件是先安
2、装 IIS 服务功能,如图:安装好了 IIS 与证书服务组件之后 ,就可以在 IE 浏览器里输入 http:/服务器 IP/certsrv/,然后输入域管理用户名与密码,即可以成功配置 CA 与申请证书了配置 VCS 或 VSS 等角色的证书:一、创建 keystore 文件 Keytool 命令存在于目录/Program Files/VMware/VMware View/Server/jre/bin 中,默认情况下它不在系统路径列表中,为了方便执行命令,可以将其加入到系统变量 path 的值中。在 View 的服务器中创建 keystore:keystore 是存储密钥和证书的数据库,证书的
3、请求以及颁发的证书都保存其中。具体的执行命令为:keytool -genkey -keyalg “RSA“ -keystore -storetype pkcs12 validity ,其中中的值由用户定义, secret 这个替换成相应的密码,keystore 的名称是上一步生成的 keystore 的文件名。具体如图 2, 。图 2:生成证书请求完后会生成一个.csr 的文件,将其用记事本打开,拷贝其中的内容,用于申请证书三、在企业根 CA 或者第三方的公共 CA 申请证书申请证书的过程大致相同,这里以安装有 Windows 的企业根 CA 为例,简单介绍生成的过程。用 IE 打开根 CA
4、的证书申请页面(http:/CA 服务器名称/certsrv) ,在页面中点击“申请一个证书”“高级证书申请”“ 提交一个由 base64 编码的 CMC 或者 PKS#10文件的证书请求” ,在接下来的页面中将上一步在记事本中拷贝的内容粘贴在 base64 编码的证书申请框中,然后证书类型选择 web server,具体如图 3。点击确定即完成证书申请的提交。图 3:证书申请的提交提交完成后,CA 的管理员会生成证书,就可以在网页上下载证书了,如图 4图 4:证书下载四、将证书导入到 keystore如果下载的证书是 PKS#12 格式(.cer )的话(默认就是这种格式) ,需要将其转换成
5、 PKS#7 格式,转换的方式很简单,打开证书文件 “Detail”页面“拷贝到文件” 下一步选择”Cryptographic message Syntax Standard-PKCS #7 Certificates(p7b) ”,并勾选“Include all certificates in the certification path if possible”下一步,输入新证书文件的名称结束(图 5) 。图 5:证书的转换使用下面命令将签发的证书导入到 keystore 中:keytool -import -keystore -storetype pkcs12 -storepass -ke
6、yalg “RSA“ -trustcacerts -file ,其中 keys.P12 是 keystore 的名称,certificate.p7b 是刚才生成的证书的名称(这里的名称只是一个例子,以实际名称为主)。五、在 View 的服务器中修改配置替换证书1、复制 keystore 文件 (也即 keys.p12)到 VCS 或 VSS 配置目录下将上一步的 keystore 文件( 也即 keys.p12)拷贝到 View Security/Standard/Replica Server 的存放证书配置的目录中,默认情况下目录为 program filesVMwareVMware Vie
7、wServersslgatewayconf。将 keystore(也即 keys.p12)和其密码写入配置文件,配置文件为locked.properties,如果这个文件不存在,可以手工创建一个。然后用记事本打开,在其中键入两行,分别为:Keyfile=keys.p12Keypass=password(说明,这个密码就是使用 keytool -genkey -keyalg “RSA“ -keystore -storetype pkcs12 validity 要求输入的密码,建议:整个过程要求输入的密码一样,主要是为了在这里引用密码的时候方便,不然容易混淆)实际中 keys.p12 代表 key
8、store 文件的名称,password 是 keystore 的密码。2、更改与替换 VCS 或 VSS 自签证书为 CA 签发的证书A、打开证书管理控制台在 VCS 或 VSS 服务器的“开始”-“运行” ,输入 mmc /a 打开控制台,如图:然后点“文件”-“添加/删除管理单元”,然后定位到证书,如图第一步第二步第三步最后点完成并点确定,出现如图:B、查看 VCS 或 VSS 自签证书状态打开这个证书管理控制台之后,点“证书(本地计算机) ”-“个人”-证书,可以看到 VCS 或 VSS 自己安装时生成的证书,如图:C、替换 VCS 或 VSS 自签证书为 CA 证书在上面的控制台里的
9、“证书(本地计算机) ”-“个人”-证书, 右击鼠标并点导入,将 keystore 文件( 也即 keys.p12)位于 View Security/Standard/Replica Server 的存放证书配置的目录中,默认情况下目录为 program filesVMwareVMware ViewServersslgatewayconf导入,也即将 keys.p12 证书导入,1) 导入 CA 证书如图:第一步:第二步第三步第四步:输入 keystore 的密码(说明,这个密码就是使用 keytool -genkey -keyalg “RSA“ -keystore -storetype pk
10、cs12 validity 要求输入的密码,建议 :整个过程要求输入的密码一样,主要是为了在这里引用密码的时候方便,不然容易混淆)标志此密钥为可导出的密钥这将允许你在稍后备份或传输密钥,这个勾一定要勾上,默认是不勾的然后点完成就可以了将 CA 证书导入2) 替换 VCS 或 VSS 自签证书为 CA 证书 在证书管理控制台里,将 VCS 或 VSS 自签证书(即自己生成的证书)的“友好名称”从默认的“vdm”改为“空”如图:第一步:第二步:效果如图: 将导入的 keys.p12 证书的“友好名称”从默认的“空”改为“vdm”如图:第一步:第二步:效果图:通过以上的一系列操作之后,就可以将 VC
11、S 或 VSS 自签证书替换成 CA 证书,这些操作之后,需要重新启动服务器的 VMware View Connection Server 服务才能生效通过以上配置之后,view client 端就可以正常通过证书验证了,如图:说明:1、 如果 view client 端是加入域的,则要将 view client 端所在PC 端重启,然后就可以拿到 CA 的根证书, 之后就可以正常的使用 CA 根证书与 VCS 或 VSS 的私有证书进行正常的交互了2、 如果 view client 端是没有加入 view 所在的域环境,则要将CA 的根证书手动从 CA 服务器端下载下来交导入到 view c
12、lient 端所在 PC,然后才能正常进行证书之间的交互,否则仍然提示证书交互失败与报错3、 使用证书进行验证之后,view client 端连接 VCS 或 VSS 要使用 FQDN,因为证书里输入的是 FQDN如果 个人 证书中没有 自签发的证书4、 图 4:证书的转换5、 使用下面命令将签发的证书导入到 keystore 中:keytool -import -keystore -storetype pkcs12 -storepass -keyalg “RSA“ -trustcacerts -file ,其中keys.P12 是 keystore 的名称,certificate.p7b 是
13、刚才生成的证书的名称。6、 四、在 View 的服务器中修改配置替换证书7、 将上一步的 keystore 文件拷贝到 View Security/Standard/Replica Server 的存放证书配置的目录中,默认情况下目录为 program filesVMwareVMware ViewServersslgatewayconf。8、 将 keystore 和其密码写入配置文件,配置文件为 locked.properties,如果这个文件不存在,可以手工创建一个。然后用记事本打开,在其中键入两行,分别为:9、 Keyfile=keys.p1210、 Keypass=password11、 实际中 keys.p12 代表 keystore 文件的名称,password 是 keystore 的密码。12、 接下来只需要重新启动服务器的 VMware View Connection Server 服务,新证书就可以使用了,现在所有的用户终端可以自动信任其证书,这样就可以有一个安全的 VMware View 的桌面虚拟化证书环境了。