在这个充满危险的互联网上…为嘛说互联网危险?比如今天你在一个群里被人爆了老底,明天或许10个群里,100个论坛里,1000个网站里,连你祖上18代都给揭露了出来。。
正题,现在无论是一些网站的账号注册,或者一些登陆,充值的界面,几乎都是使用的SSL连接。那么,无论是想要实现电子邮件的保护,还是SSL 网站安全连接,都必须有证书(certification)的存在,才能使用公钥/私钥来执行数据的加密和身份验证。借用戴有炜老师书里面的一个例子,话 说他妈“证书就跟机动车驾照一样,必须拥有机动车驾照(证书)才能开车(使用密钥)”,那么证书是哪里来的? 好问题,机动车驾照哪里来的? 得有一个大家都信任的机构交通局(证书颁发机构certification authority,CA)来进行颁发的。
那么,对于在互联网上使用的一些证书,可能需要我们想互联网上的一些知名的商业CA进行申请。
(额,有人问为什么? 你自己打印了张支票,刻了一个章,填上一串9,能去银行取出来钱嘛?)同样的道理。。
但是如果在自己的公司里,如果我们的网站,邮件只是自己内部人在使用,那么还是完全可以搭建自己的CA来使用的。为什么?老板说的算。。。
接下来,详细介绍如何通过使用windows server 2008 R2的Active Directory 证书服务来搭建我们企业内部第一台企业根CA。
首先,企业根CA需要Active Directory域的支持,企业根CA可以安装在域控制器本身,或者成员服务器上;企业根CA发放证书的对象仅限于域用户。
老一套,打开我们windows server 2008 R2上面的服务器管理器
在服务器角色选择里面,我们勾选上Active Directory证书服务
在角色服务处,除了默认的证书颁发机构之外,我们勾选上“证书颁发机构Web注册”,点击之后会弹出一个提示,我们选择“ 添加所需的角色服务”来安装此组件所需的IIS网站,勾选此组件的目的是为了让用户可以直接利用浏览器去申请证书。
在接下来的 安装类型中,选择 企业。如果此计算机没有在域中,或者不是使用Domain Admin身份来登录的话,企业CA是无法选择的。
下一步之后,会提示选择CA的类型,这里我们来选择根CA。
在下一步操作中,我们选择“新建私钥”。此私钥作为CA的私钥,CA必须有用私钥,才有向客户端发放证书的权利。
如果在此之前你已经安装过CA,创建过一次私钥,在这次安装的时候,也可以直接使用之前创建过的私钥。
在下一步选择加密方式的时候,我们使用默认的加密方式即可。
关于CA的名称,只是作为一个显示名称存在,可以自己定义。好记,容易识别即可。也可直接采用默认
证书的有效期默认是5年,如果没有特殊要求,采用默认即可。
关于证书数据库和日志的位置,一般情况下采用默认即可。也可以自己定义
在对于IIS下一步选择角色服务的操作中,CA需要用到的已经默认勾选,如果无特殊需要添加的,采用默认即可。
最后一步,会显示出来综合的配置,点击安装,开始执行安装,需要注意的是,一旦机器安装了CA,则此计算机就不允许在进行更改计算机名等操作。
企业根CA可以颁发的证书有很多类型,而且是根据“证书模板”来颁发证书。如下图所示:
到此为止,一个简单的企业根CA已经搭建完成,而且Active Directory域会通过组策略来让域内的所有计算机来自动信任根CA,其实这个“信任”的过程,说白了。也就是将跟CA的证书安装到客户端的过程。
域内的计算机用户也可以通过WEB界面去申请,下载证书。可以通过
http://ca的主机名、计算机名或者IP地址/certsrv来进行访问。