Certificate-Authority

Microsoft 獨立 CA - 設置單個請求的到期日期

  • June 25, 2012

我在 2008 R2 上設置了 Microsoft 獨立 CA 作為根 CA。我正在嘗試設置從屬企業 CA。我生成了證書請求,並將其送出給根 CA。然後,我執行以下命令將到期日期設置為 20 年(請求 ID 為 5):

certutil -setattributes 5 "ValidityPeriod:Years\nValidityPeriodUnits:20"

然後,我批准了這個請求,但它失敗了。請求狀態程式碼為:

The specified time is invalid. 0x8007076d (WIN32: 1901)

請求處置消息是:

Denied by Policy Module  0x8007076d, The requested validity period is invalid.
Confirm that the validity period or expiration data and time specified in the request
does not extend beyond the validity period of the CA certificate, the certificate 
template, and the CA.  The validity period of the CA can be verified by running the 
following commands: certutil -getreg ca\validityPeriod 
                 & certutil -getreg ca\ValidityPeriodUnits

CA證書的有效期為40年(2052年到期)。模板條件不適用,因為這是一個獨立的 CA。這些命令的結果分別是 Years 和 1。

看來我需要更改 CA 的validityPeriod 和validityPeriodUnits。但是,我想將請求的預設到期時間保持為 1 年。有沒有辦法設置最大和預設到期時間,還是我必須更改它,頒發證書,然後再改回來?

根據Windows 2000 文件

All certificates that the stand-alone CA issues have the lifetime specified by the
values of the ValidityPeriod and ValidityPeriodUnits registry entries. Therefore, if
you want to issue certificates with different lifetimes, you must deploy either
enterprise CAs, multiple stand-alone CAs, or third-party CAs.

根據 social.technet.microsoft.com 上最近的一篇文章,這似乎仍然有效。

我最終更改了系統資料庫值,頒發了證書,然後將其更改回來。

引用自:https://serverfault.com/questions/400973