什么是数字证书?

  数字证书是在Internet上表示用户身份的一种数据,它包含公钥和私钥,通过加密使得用户之间的身份得以确认,并保证数据在传输过程中的一致性,防止被他人篡改。

  由于数字证书的安全特性,所以其广泛应用于各种对安全性要求较高的应用中,比如常用的网上银行,企业邮箱等等。

  数字证书的颁发可以来自第三方颁发机构,比如Verisign,这些机构本身的信任关系就内嵌在操作系统中,所以当我们打开那些由这些机构颁发的证书的链接时,系统会自动进行验证。当然,在企业内部,数字证书也可以由企业内部的CA进行颁发,虽然在Internet上企业内部的根证书没有受到信任,但是在企业内部,所有的计算机对内部CA是信任的。

  为什么要在VMware View中进行证书管理

  默认情况下,VMware View的Security Server、Standard/Replica Server都是使用默认的由服务器本身自签发的证书,它不被其它系统信任,无法保证连接时数据传输的一致性。当客户端连接到包含不信任证书的应用时,系统都会提示警告,显示该证书不可信,所以即使信息在中间环节被篡改,用户也无法识别。

  企业生产环境需要做的是将服务器中默认的证书替换成企业根CA或者外部公共CA签发的可信任证书。这样做的目的就是保证数据的安全和一致性,并得到所有客户端的信任。

  如何在VMware View中进行证书管理

  进行证书的管理,整个证书管理主要集中在View Security Server、View Standard Server和View Replica Server中,证书的类型为Web证书。

  在VMware View 5.0中,一个巨大的改进就是在默认情况下,view客户端会对服务器端证书的可信任性进行严格的检测,特别是在像iPad这样的平板电脑上,如果服务器端的证书不被信任,将无法连接到虚拟桌面。

  证书的管理步骤:

  一、创建keystore,生成证书请求

  Keytool命令存在于目录/Program Files/VMware/VMware View/Server/jre/bin中,默认情况下它不在系统路径列表中,为了方便执行命令,可以将其加入到系统变量path的值中。

  在View的服务器中创建keystore:keystore是存储密钥和证书的数据库,证书的请求以及颁发的证书都保存其中。具体的执行命令为:keytool -genkey -keyalg "RSA" -keystore -storetype pkcs12 -validity ,其中<>中的值可以由用户自己定义,keys.p12是keystore的名字,validity time是证书的有效时间,单位是天。命令执行时系统会询问相关的证书问题,需要注意的是在输入名字时,一定要输入客户端连接服务器用的FQDN名,具体如图1,完成后会生成一个.p12的文件,这就是keystore。

  图1:生成keystore

  在keystore中生成证书请求:命令keytool -certreq -keyalg "RSA" -file -keystore -storetype pkcs12 -storepass 。同样,<>中的值由用户定义,keystore的名称是上一步生成的keystore的文件名。具体如图2,完后会生成一个.csr的文件,将其用记事本打开,拷贝其中的内容,用于申请证书。

  图2:生成证书请求

  二、在企业根CA或者第三方的公共CA申请证书

  申请证书的过程大致相同,这里以安装有Windows的企业根CA为例,简单介绍生成的过程。用IE打开根CA的证书申请页面(http://CA服务器名称/certsrv),在页面中点击“申请一个证书”>“高级证书申请”>“提交一个由base64编码的CMC或者PKS#10文件的证书请求”,在接下来的页面中将上一步在记事本中拷贝的内容粘贴在base64编码的证书申请框中,然后证书类型选择web server,具体如图3。点击确定即完成证书申请的提交。

  提交完成后,CA的管理员会生成证书,就可以在网页上下载证书了。

  图3:证书申请的提交

  三、将证书导入到keystore

  如果下载的证书是PKS#12格式(.cer)的话,需要将其转换成PKS#7格式,转换的方式很简单,打开证书文件>“Detail”页面>“拷贝到文件”>下一步>选择”Cryptographic message Syntax Standard-PKCS #7 Certificates(.P8B)”,并勾选“Include all certificates in the certification path if possible”>下一步,输入新证书文件的名称>结束(图4)。

  图4:证书的转换

  使用下面命令将签发的证书导入到keystore中:keytool -import -keystore -storetype pkcs12 -storepass -keyalg "RSA" -trustcacerts -file ,其中keys.P12是keystore的名称,certificate.p7b是刚才生成的证书的名称。

  四、在View的服务器中修改配置替换证书

  将上一步的keystore文件拷贝到View Security/Standard/Replica Server的存放证书配置的目录中,默认情况下目录为program files\VMware\VMware View\Server\sslgateway\conf\。

  将keystore和其密码写入配置文件,配置文件为locked.properties,如果这个文件不存在,可以手工创建一个。然后用记事本打开,在其中键入两行,分别为:

Keyfile=keys.p12
Keypass=password

  实际中keys.p12代表keystore文件的名称,password是keystore的密码。

  接下来只需要重新启动服务器的VMware View Connection Server服务,新证书就可以使用了,现在所有的用户终端可以自动信任其证书,这样就可以有一个安全的VMware View的桌面虚拟化证书环境了。