Windows-Server-2008-R2
無法向 2k8R2 CA 送出證書請求
我使用 Windows Server 2008 R2 創建了一個兩層 CA。用於創建此獨立根和企業子 CA的
.inf
文件位於本文末尾。根安裝正常並向 SubCA 頒發證書。SubCA 又自動向域控制器頒發證書。
我的 PKI 健康狀況是綠色的,所有鏈都有效並且 CRL 已發布。
但是,當我嘗試為我的 Exchange 伺服器註冊 SAN 證書時,該請求不被接受。事實上,根本沒有錯誤資訊。我正在關注([http://exchangeserverpro.com/how-to-issue-a-san-certificate-to-exchange-server-2010-from-a-private-certificate-authority)[) “如何頒發 SAN 證書從私有證書頒發機構到 Exchange 2010],總之:
- 從 Exchange 命令行管理程序:
New-ExchangeCertificate -FriendlyName "Exchange 2010 Certificate" -IncludeServerFQDN -DomainName mail.mydomain.net,autodiscover.mydomain.net,webmail.mydomain.net -GenerateRequest -PrivateKeyExportable $true
- 我去我的子 CA 網路證書服務
http://subca/certsvc
- 申請證書
- 送出高級證書申請
- 使用 base-64 編碼的 CMC 或 PKCS #10 文件送出證書請求
- 將步驟 1 中的請求粘貼到已保存的請求框中
- 選擇證書類型 Web 伺服器
- 點擊送出
- 沒什麼…頁面重新刷新以再次顯示同一頁面。頁面或任何日誌都沒有錯誤,請求沒有送出。
我也嘗試通過 certsrv MMC 將 cer 文件送出給從屬 CA,我右鍵點擊 CA -> 所有任務 -> 送出新請求 -> 選擇 cer 文件,然後點擊確定。什麼都沒有發生,沒有錯誤,沒有掛起的請求,日誌中什麼都沒有,什麼都沒有。
; CAPolicy.inf example file for the Root CA [Version] Signature= "$Windows NT$" RenewalKeyLength=2048 RenewalValidityPeriod=Years RenewalValidityPeriodUnits=20 CRLPeriod = Years CRLPeriodUnits = 1 CRLDeltaPeriod = Days CRLDeltaPeriodUnits = 0 AlternateSignatureAlgorithm=1 [CRLDistributionPoint] Empty=true [AuthorityInformationAccess] Empty=true ; CApolicy.inf file for the Issuing CA [Version] Signature= "$Windows NT$" [Certsrv_Server] RenewalKeyLength=2048 RenewalValidityPeriod=Years RenewalValidityPeriodUnits=10 CRLPeriod=Weeks CRLPeriodUnits=1 CRLDeltaPeriod=Days CRLDeltaPeriodUnits=1 CRLOverlapPeriod=Days CRLOverlapUnits=2 ValidityPeriod=Years ValidityPeriodUnits=2 AlternateSignatureAlgorithm=1
在找到更多資訊後,我能夠解決此問題您無法將 Exchange 管理控制台 (EMC) 或 Exchange 命令行管理程序 (EMS) 生成的證書請求送出給 Microsoft 證書服務
總之,這是因為證書請求被儲存為 Unicode 編碼並且 Microsoft 證書服務不支持 unicode 編碼的文件。
修復方法是在記事本中打開請求文件,這次使用 ANSI 編碼另存為新文件。然後將這個 ANSI 編碼文件重新送出給 CA,並頒發證書。