資訊無涯,回頭已不見岸

憑證註冊網頁無法出現新增範本事件

Cert Templates Disappear in Web

這是一個自己及客戶端都遇過的狀況,解決過程收在 OneNote 筆記躺好久,剛好最近在搭憑證升級的測試環境,決定順手整理讓他重見天日。

環境及問題描述
企業憑證服務搭建在 Windows Server 2008 R2 的主機上,複製新增了一個名為「網頁伺服器 SHA256」的憑證範本;但在發行後,憑證註冊網頁怎樣都看不到這個新增的範本。

問題查找過程確認,如果複製新增的範本,只要是選擇了非 2003 Enterprise 版本,就會發生這樣的狀況。
Cert Templates Copy

微軟針對此狀況提供暫解的方法,但官方文件有說不建議這樣做。 (原因後述)


開啟 ADSI 編輯器

到網域控制站的「開始」->「執行」,輸入「adsiedit.msc」 後點擊「確定」

在左側窗格的 ADSI 編輯器項目上,點擊滑鼠右鍵選「連線到」。參考下圖在「選取熟知的命名內容」,選擇「設定」後,點擊「確定」。
Open ADSIEdit


修改憑證範本的架構版本

參考下圖位置及資料結構,找到那個疑似有問題的憑證範本

CN=Certificate Templates, CN=Public Key Services, CN=Services, CN=Configuration, DC=xxxxx, DC=xxx

用滑鼠點擊兩次該範本名稱以編輯內容,接著找到「msPKI-Template-Schema-Version」,將原來的值 3 改為 2,最後點擊「確定」
Change Template Schema Version to 2

回到憑證網頁註冊網站重整頁面,就會看到複製新建的憑證範本出現在選項中。
Cert Templates appear in Web

所以,關鍵點在於 2008 R2 以後的憑證範本,架構版本 (schema version) 是 v3 以上,就會造成這樣的問題。

另外,這狀況根據國外討論同樣會發生在 Server 2012/2012 R2 上。是的,我拿手邊另一個 2012 R2 的環境確認可以重現,不過微軟的 KB 文件並沒有提到這兩個產品。
Templates Disappear in Web with Server 2012 R2

前面有提到,這是暫解的方法,因為官方文件明確告知不建議這樣做,其中提到
The reason it is not recommended is that the web enrollment pages, again, may not contain the code necessary for the certificate to populate all needed data, and so the result may be a problematic certificate.

簡單翻譯就是,用這樣的方法以達成在網頁進行憑證註冊,可能會產生有問題的憑證。

當然,或許另一個解決方法是選擇 2003 Enterprise 的版本,只是我會覺得這作法有種鴕鳥心態:若我們真心希望,未來申請的憑證是遵循新規範時,就應該選 2008 R2 或以上的版本。

回過來思考,如果不能用憑證註冊頁面,還可以用什麼方式完成申請呢?其實還是可以使用 MMC 相關操作或者指令交互方式來完成,只是…就真的沒這麼方便了。
Certificate Request in MMC

2 則留言

  1. Luke

    您好:
    網路搜尋到您的文章
    依照您的說明
    用滑鼠點擊兩次該範本名稱以編輯內容,接著找到「msPKI-Template-Schema-Version」,將原來的值 3 改為 2,最後點擊「確定」
    我是2016 server
    參照IIS所顯示的 範本項目 值改為1
    仍然無法出現在憑證範本的選項

    懇求解惑

    謝謝

    • AskaSu

      手邊沒有 Windows Server 2016 可以再協助確認,不過我現在都改用 MMC 方式走憑證精靈取得,而且其實習慣之後會覺得更快更方便

發佈回覆給「Luke」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

© 2024 蘇老碎碎唸

Theme by Anders NorenUp ↑