SystemCenter2012SP1实践(9)如何申请证书

发布于 2013-04-21  580 次阅读


在上一章提及为SAC的网站申请证书,以消除证书错误的报错提示,毕竟如果让用户看到证书错误提示会显得很不专业。但是周末的时候仔细检查了一下,发现之前章节中只是介绍了搭建证书服务的方法,而没有介绍如何申请证书,考虑到一些原因,这里详细介绍一下。

这张字有点多,希望认真看一下。

=====我是分割线============

(关于如何搭建Windows2012环境下的证书服务器看这里)http://jiushu.blog.51cto.com/972756/1174267

关于申请证书的方式,是一种通用的方式,整个系列中其他组件如果需要使用证书,也可以按照本文的方式来申请。

首先我们看一下,WindowsServer2003搭建的证书服务器是如何申请证书的。

第一步是打开证书服务器的地址http://IP地址/certsrv  ,然后点击申请一个证书

这个时候有两个选项,一个是申请用户证书、一个是高级证书申请。这两种方式有什么区别呢?我们知道,在实施组策略的时候,会有两种策略对象可选,一种是计算机对象,一种是用户对象,相对而言,计算机对象是一种硬件,同一台计算机可以允许很多用户登录;用户对象是一指的实际的操作者,同一个操作者可以拥有很多计算机。

如果我们需要确认用户的唯一身份,那么需要申请用户证书,因为这种证书代表的是用户个人。而如果是为网站、一些硬件防火墙、交换机等硬件设备申请证书,那么就需要申请"计算机证书"了。

高级证书申请有两个选项,一个是直接申请,另外一个是使用编码文件进行申请。为什么这里会有编码文件呢?直接在网页上操作不是更简单呢?原因很简单,因为如硬件防火墙、交换机等设备,他们不见得有终端,能够让管理员登陆上去,并且打开证书申请的WEB页面。所以大家都用一种统一的方式,网络设备和其他硬件设备,通过标准化的一种编码方式,获得一份申请文件、然后这个申请文件就可以跨平台使用,去申请证书了。最终拿到证书后,管理员可以手动导入到设备中。

一句话概括就会是,Windows自己的服务器可以使用Web申请,但是其他设备要通过编码文件申请。

接下来就看到有意思的地方了,如果是为WindowsServer的主机申请证书,那么这种操作在WindowsServer2003下是可行的。因为这里有一个选项,可以保存证书,也就是把申请到的证书复制到本地,然后重新导入使用。

但是证书服务器是WindowsServer2012,这种情况就变了。保存文件的按钮没有了,这样从Web申请出来的证书是没法用的,导不出,也就无法在IIS中选中。

=====我是分割线============

方法当然是有的,不可能我们升级到WindowsServer2012,反而所有功能都弱化了。这种方法要求我们首先对证书服务器进行一定修改,其次需要申请证书的客户端,需要使用控制台打开"证书"组件,进行相应的申请。一共就这两个步骤,下面大家来跟着做吧。

  1. 证书服务器的操作

首先登陆安装有证书服务的WindowsServer2012主机。打开"证书颁发机构"

我们在证书模板上右键点击,选择"管理"

在弹出的新窗口中,依次点击"计算机"→"复制模板",这里的意思是,我们会以计算机模板作为基准,进行适当的修改,以适应我们的需求。

这时会弹出设置界面,这个界面下选项卡比较多,但是实际上我们只需要修改几个地方就可以了。

接下来我们慢慢介绍,首先默认第一个兼容性选项卡,大家默认这样选择就可以了,当然如果你愿意,选择高版本的颁发机构和高版本的证书接收人也可以,但是这样会让现有的2003和2008R2系统无法使用,这里的兼容性设置,其重要性和域功能级别近似,都是越往上功能越多,越往下兼容性越好。

常规选项卡中设置证书的有效期,比如我们一般的证书都是3到5年,这里你可以设置一个比较大的,当然也可以根据安全性考虑,设置一个比较小的时间范围。需要注意的是,要勾选下面的"发布证书"按钮。

接下来设置"使用者名称",这里需要修改为"在请求中提供",进行这项修改时,系统会提示,这个操作很危险。它的危险性到底在哪里呢

我们在本系列搭建证书服务器的过程中提到,证书用三个属性来确认身份:

  1. 可信的机构;2、正确的时间范围;3、证书使用者和域名完全一致。

假如用户恶意申请了证书,他们会做什么呢?比如它申请了一张www.baidu.com的证书,而颁发机构是我们的域内证书服务器,同时时间范围也是合理正确的。那么当配合DNS伪造等技术,用户访问https://www.baidu.com 这种域名时,竟然也是会没有红框警示的!

所以说,这个权限开放是为了我们操作,但不应该是随意的发放这种权限。

我们已经提到了,这种方式很危险,那么如何保证这种方式的安全性呢?其实默认的安全策略,已经可以有效的保护它了。在默认情况下,这种证书策略仅对域管理员、企业管理员和域控计算机生效。如果你希望其他用户也能如此申请证书,那么要在这里提前添加一下。

配置好后,我们颁发这个证书模板。依然在证书颁发机构中,我们在证书模板上右键点击→新建→要颁发的证书模板。

这时候我们可以看到刚才根据"计算机"所创建的模板了,选中,点击确定。到这里,服务器端的配置工作就算完成了。

  1. 客户端的操作

首先客户端(Windows的服务器)在命令行下输入MMC,打开控制台,在顶部的文件处,选择添加或删除管理单元→证书→添加→计算机账户。

需要注意的是,这个证书的选项默认就有了,不需要添加任何角色和服务就能看到。

添加完成之后,我们就可以在左侧看到控制台根节点了,同时可以看到证书(本地计算机),在个人上右键点击→所有任务→申请新证书。

下一步即可。

继续点下一步

我们可以看到,根据域身份的不同,我们在这里能够看到不同的信息列表(刚才的策略默认只对域和企业管理员生效)首先要点击蓝色字体进行配置修改

我们在新弹出的窗口选择公用名,然后在下面值里输入域名即可,可以输入多种域名,右侧的例子已经很明白的说明了开放这种权限的风险,如果是个不靠谱的人拿到这个权限,那么他可以申请到很多对我们不利的域名。但是在实际应用当中,我们可能需要这样设置,比如一个域名对外访问是www.contoso.com,同时内网地址是192.168.0.33, 我们输入https://www.contoso.com 是正常没有红色提示的,但如果希望输入https://192.168.0.33同样也没有红色提示应该怎么做呢?只能开放这个权限,去修改使用者。

在私钥部分,一定要勾选"使私钥可以导出",不勾选的话,会出现本章开篇时的问题。

修改完成之后点确定,返回到前面的请求阶段,可以看到蓝色提示已经没有了,继续点注册。

这时候返回到个人目录下,可以看到刚才申请的证书已经出来了 。我们可以右键点击,选择导出。

导出私钥

默认设置

加个密码,随意

保存的位置,依然可以随意

拿到证书之后,选择为计算机证书,之后一阵双击下一步,证书就算搞定了。

当这样操作完成后,我们在IIS的证书绑定处或者其他需要用到计算机证书的地方,才会看到这多出来的新证书选项卡。

=====我是分割线============

好了,到这为Windows计算机申请计算机证书的操作就算是完成了,在Windows的部署当中,利用证书的地方很多,希望大家都能熟练操作这个过程。

原创文章,转载请注明: 转载自奶油九叔

本文链接地址: SystemCenter2012SP1实践(9)如何申请证书