申请有效期为100年的证书

由证书颁发机构 (CA) 所颁发的每一张证书都具有有效期限,默认情况下,我们从企业根CA申请到的证书,有效期限都是2年,比如下图这张为Exchange申请的证书,到了2014年10月就需要续订

01

 

那么证书的有效期需要在哪些地方进行修改呢?首先我们来看一下证书模板,通过CA服务器上的证书颁发机构打开证书模板

02

 

在申请Exchange证书时,通常用到的证书模板是【Web 服务器】证书模板,打开它的属性

03

 

在默认常规选项卡中可以看到通过此证书模板申请到的证书,有效期为2年,但是现再不能直接修改

04

 

除了证书模板,另外一个重要的地方就是注册表,从注册表中展开到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration\ContosoCA(ContosoCA是我CA颁发机构的名称),在右侧找到【ValidityPeriodUnits】,看到其值为【2】,这个值和证书模板上的有效期关系紧密,只有当【ValidityPeriodUnits】的值改动后,证书模板有效期的改动才能生效,打个比方,我现再创建一个证书模板,将它有效期修改为100年,但是你会发现客户端通过此模板申请到的证书有效期还是2年,只有当【ValidityPeriodUnits】的值修改为100后,并且重启了证书服务,证书模板上修改后的有效期才会生效

05

 

现再我们知道了证书模板和ValidityPeriodUnits值决定了证书的有效期,那么申请一张有效期为100年的证书,将证书模板中的有效期和注册表中的ValidityPeriodUnits值都修改为100就可以了吗?当然是不行的,这里有一个非常重要的规则,就是证书的有效期一定不能大于证书颁发机构(CA)的有效期,CA也永远不会颁发超出自己证书有效期时间的证书。默认安装的CA,其有效期为5年,如果你在安装时没注意,可以在安装后通过CA根证书查看到(如下图),也就是说,在这种情况下,我们只能申请到最大有效期限为5年证书

06

 

那要申请一张有效期为100年的证书该如何做呢?

首先,在规划部署CA的时候,就应该将有效期调整为100年

07

 

部署完CA后,打开注册表,展开到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration\contoso-CQDC01-CA

将【ValidityPeriodUnits】的值修改为【100】

08

 

重启AD证书服务后,注册表的更改才会生效

09

 

然后从CA中打开证书模板,由于默认的【Web 服务器】模板是无法修改的,我们需要创建一个新模板,这里在【Web 服务器】模板上单击右键,选择【复制模板】

10

 

选择【Windows Server 2003 Enterprise】

11

 

在【常规】选项卡中,首先指定模板的显示名称以及有效期,这里把有效期设置为100年

12

 

然后切换到【请求处理】选项卡,勾选【允许导出私钥】

13

 

接下来切换到【使用者名称】选项卡,选择证书使用者名称的生成方式,这里选择【在请求中提供】

14

 

最后切换到【安全】,为Administrator用户分配【注册】权限

15

 

模板创建完成后,需要将它发布,在证书模板节点上单击右键,指向【新建】,然后选择【要颁发的证书模板】

16

 

选择我们刚刚创建的模板【Exchange Server】

17

 

经发布后的模板才可以从证书Web注册页面中进行选择

17

 

通过管理员账户进入证书Web注册站点,在base64编码提交页,选择我们创建的【Exchange Server】证书模板

18

 

最后我们来打开申请到的证书,看看有效期,如下图,2012-2112,这样一来就避免了做证书续订

19

你可能感兴趣的:(Exchange,ca,有效期,小秋)