申請有效期爲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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章