憑證授權單位指引

 

適用於: Windows Server 2012 R2, Windows Server 2012

憑證授權單位 (CA) 負責證明使用者、電腦及組織的身分識別。 CA 會驗證實體,並簽發數位簽署憑證為該身分識別提供擔保。 CA 也可以管理、撤銷,以及更新憑證。

憑證授權單位具有下列意義:

  • 為使用者的身分識別提供擔保的組織

  • 組織用來簽發及管理憑證的伺服器

透過安裝 Active Directory 憑證服務 (AD CS) 的憑證授權單位角色服務,您就可以設定 Windows 伺服器做為 CA。

在安裝 CA 角色服務之前,您應該:

  1. 規劃組織適用的公開金鑰基礎結構 (PKI)。

  2. 如果您計畫使用硬體安全模組 (HSM),請依據 HSM 廠商指示安裝及設定 HSM。

  3. 如果您想要修改預設安裝設定,請建立適當的 CAPolicy.inf。

PKI 計畫

為確保組織可以充分利用您的 Active Directory 憑證服務 (AD CS) 安裝,您必須適當地規劃 PKI 部署。 您應該先決定您將安裝的 CA 數目與 CA 組態,然後再安裝 CA。 建立適當的 PKI 設計可能非常耗時,但這對於 PKI 能否成功而言非常重要。

如需詳細資訊和資源,請參閱 Microsoft TechNet 中的 PKI 設計指導

使用 HSM

使用硬體安全模組 (HSM) 可以增強 CA 和 PKI 的安全性。

HSM 是由作業系統個別管理的專用硬體裝置。 除了專用的密碼編譯處理器可加速簽署和加密作業之外,這些模組還可為 CA 金鑰提供安全的硬體存放區。 作業系統會透過 CryptoAPI 介面使用 HSM,且 HSM 會以密碼編譯服務提供者 (CSP) 裝置的方式運作。

HSM 通常是 PCI 介面卡,但它們也可以是網路設備、序列裝置,以及 USB 裝置。 如果組織計劃實作兩個或多個 CA,您可以安裝一個以網路為基礎的 HSM,並由多個 CA 共用。

若要使用 HSM 設定 CA,必須先安裝及設定 HSM,才能使用將儲存在 HSM 上的金鑰設定任何 CA。

請考慮使用 CAPolicy.inf 檔案

安裝 AD CS 時並不需要 CAPolicy.inf 檔案,但是它可以用來自訂 CA 的設定。 CAPolicy.inf 檔案包含安裝 CA 或更新 CA 憑證時所使用的各種設定。 必須在 %systemroot% 目錄 (通常是 C:\Windows) 中建立及儲存 CAPolicy.inf 檔案,才能使用該檔案。

您在 CAPolicy.inf 檔案中包含的設定主要需視您想要建立的部署類型而定。 例如,根 CA 的 CAPolicy.inf 檔案可能看起來像這樣:

[Version]
Signature= "$Windows NT$"
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
LoadDefaultTemplates=0

簽發 CA 之企業的 CAPolicy.inf 檔案則可能看起來像這樣:

[Version]
Signature= "$Windows NT$"
[PolicyStatementExtension]
Policies = LegalPolicy, LimitedUsePolicy
[LegalPolicy]
OID = 1.1.1.1.1.1.1.1.1
URL = "https://www.contoso.com/pki/Policy/USLegalPolicy.asp"
URL = "ftp://ftp.contoso.com/pki/Policy/USLegalPolicy.txt"
[LimitedUsePolicy]
OID = 2.2.2.2.2.2.2.2.2
URL = "https://www.contoso.com/pki/Policy/USLimitedUsePolicy.asp"
URL = "ftp://ftp.contoso.com/pki/Policy/USLimitedUsePolicy.txt"
LoadDefaultTemplates=0
System_CAPS_note注意事項
  1. CAPolicy.inf 範例中所示的 OID 只是範例。 個別組織應取得自己的 OID。 如需 OID 的相關詳細資訊,請參閱從 ISO 名稱登錄授權單位取得根 OID

  2. 如需詳細資訊,請參閱 CAPolicy.inf Syntax

選擇 CA 組態設定

下列小節描述安裝 CA 二進位安裝檔案後,您將會選擇的組態選項。

選擇安裝類型

企業 CA 已經與 Active Directory 網域服務 (AD DS) 整合。 它們會發佈憑證與憑證撤銷清單 (CRL) 到 AD DS。 企業 CA 會使用儲存在 AD DS 中的資訊 (包括使用者帳戶和安全性群組),來核准或拒絕憑證要求。 企業 CA 會使用憑證範本。 在簽發憑證時,企業 CA 會使用憑證範本中的資訊來為該憑證類型產生具備適當屬性的憑證。

如果您想要啟用自動憑證核准和自動使用者憑證註冊,請使用企業 CA 簽發憑證。 只有在 CA 基礎結構與 Active Directory 整合時,才可使用這些功能。 此外,僅企業 CA 可以簽發具備智慧卡登入功能的憑證,因為此程序需要智慧卡憑證自動對應到 Active Directory 中的使用者帳戶。

System_CAPS_note注意事項

根據預設,您必須是 Enterprise Admins 群組的成員,才能安裝及設定企業 CA。 如果您想要讓低權限的網域系統管理員安裝及設定企業 CA,請參閱企業憑證授權單位的委派安裝

獨立 CA 不需要 AD DS,因此它們不會使用憑證範本。 如果您是使用獨立 CA,就必須在憑證要求中包含要求之憑證類型的所有相關資訊。 根據預設,提交給獨立 CA 的所有憑證要求都會保留在擱置佇列中,直到 CA 系統管理員核准它們為止。 您可以將獨立 CA 設定成在收到要求時自動簽發憑證,但這比較不安全,所以通常不建議您這樣做,因為要求未經過驗證。

從效能觀點來看,搭配自動簽發功能使用獨立 CA 可讓您以比使用企業 CA 更快的速度簽發憑證。 但是,除非您使用自動簽發功能,否則使用獨立 CA 來發行大量憑證通常會產生較高的系統管理成本,因為系統管理員必須手動檢閱,然後核准或拒絕每項憑證要求。 基於這個理由,獨立 CA 適合在使用者沒有使用者帳戶以及要簽發及管理的憑證數量相對較少時,在外部網路和網際網路上搭配公開金鑰安全性應用程式使用。

當您使用非 Microsoft 目錄服務或無法使用 AD DS 時,您必須使用獨立 CA 來簽發憑證。 您可以在您的組織中同時使用企業和獨立憑證授權單位,如下表所述。

選項

企業 CA

獨立 CA

在 Active Directory 中發佈憑證,並使用 Active Directory 驗證憑證要求。

讓 CA 離線。

不建議

將 CA 設定成自動簽發憑證。

不建議

允許系統管理員手動核准憑證要求。

允許使用憑證範本。

驗證要送至 Active Directory 的要求。

選擇 CA 類型

企業和獨立 CA 可以設定為根 CA 或次級 CA。 次級 CA 可以進一步設定為中繼 CA (也稱為原則 CA) 或發行 CA

指定根 CA

根 CA 是位於憑證階層最上層的 CA。 它必須是組織中用戶端無條件信任的 CA。 所有憑證鏈結都是在根 CA 終止。 無論您是使用企業或獨立 CA,您都需要指定根 CA。

因為根 CA 是憑證階層中最上層的 CA,因此由根 CA 所發出之憑證的主體欄位值會與憑證的簽發者欄位值相同。 同樣地,因為憑證鏈結會在到達自我簽署的 CA 時終止,因此所有自我簽署 CA 都是根 CA。 可以在企業層級決定,或由個別的 IT 系統管理員在本機決定,將某個 CA 指定為信任的根 CA。

根 CA 可做為您的憑證授權單位信任模型所依據的基礎。 它可以保證主體的公開金鑰會與它所發行之憑證的主體欄位中顯示的身分識別資訊相對應。 不同的 CA 也可能透過使用不同的標準來驗證此關係,因此必須在選擇信任由該授權單位驗證公開金鑰之前,先了解根憑證授權單位的原則與程序。

根 CA 是您的階層中最重要的 CA。 如果您的根 CA 遭到洩露,階層中的所有 CA 和從中簽發的所有憑證都會被視為已洩露。 您可以讓根 CA 維持與網路中斷連線,以及使用次級 CA 來簽發憑證給其他次級 CA 或使用者,以確保根 CA 的最高安全性。

次級 CA

不是根 CA 的 CA 皆視為次級 CA。 階層中第一個次級 CA 會從根 CA 取得其 CA 憑證。 此第一個次級 CA 可以使用此金鑰來簽發驗證另一個次級 CA 完整性的憑證。 這些較高階層的次級 CA 稱為中繼 CA。 中繼 CA 是屬於根 CA 的次級 CA,但它可以做為一或多個次級 CA 的較高階層憑證授權單位。

中繼 CA 經常被稱為原則 CA,因為它通常用來區隔可以透過原則區分之憑證的類別。 例如,原則區隔包含 CA 所提供的保證層級或 CA 的地理位置,以區分不同的終端實體母體。 原則 CA 可以在線上或離線。

警告

根 CA 無法轉換成次級 CA,反之亦然。

儲存私密金鑰

私密金鑰是 CA 身分識別的一部分,因此必須受到保護以避免洩露。 許多組織使用硬體安全模組 (HSM) 來保護 CA 私密金鑰。 如果未使用 HSM,私密金鑰則會儲存在 CA 電腦上。 如需詳細資訊,請參閱 Microsoft TechNet 中的硬體安全性模組 (HSM)

離線 CA 應該儲存在安全位置,且不連線到網路。 發行 CA 會在簽發憑證時使用其私密金鑰,因此在 CA 運作時,私密金鑰必須能夠被 CA 存取 (線上)。 在所有情況下,CA 和 CA 上的私密金鑰都應該受到實體保護。

尋找現有金鑰

如果在安裝期間您已經有想要使用的現有私密金鑰,您可以使用 [現有金鑰] 畫面來找出該金鑰。 您可以使用 [變更] 按鈕來修改密碼編譯提供者,並選擇性修改您想要搜尋現有金鑰的 CA。

尋找現有憑證

如果您已經有包含 CA 之私密金鑰的憑證,您可以使用 [現有憑證] 畫面來找到它。 您可以使用 [匯入] 按鈕來開啟 [匯入現有憑證] 對話方塊,然後再找出您現有的 PKCS #12 檔案。

選取密碼編譯選項

選取憑證授權單位 (CA) 的密碼編譯選項對於 CA 的安全性、效能及相容性而言很重要。 雖然預設的密碼編譯選項可能適用於大多數的 CA,但能夠實作自訂選項的能力對於更深入了解密碼編譯及需要此使用彈性的系統管理員和應用程式開發人員來說很有用。 密碼編譯選項可以使用密碼編譯服務提供者 (CSP) 或金鑰儲存提供者 (KSP) 來實作。

重要

在為 CA 使用 RSA 憑證時,請確定金鑰長度至少為 2048 個位元。 請勿嘗試為 CA 使用低於 1024 個位元的 RSA 憑證。 如果安裝低於 1024 個位元的 RSA 金鑰,CA 服務 (certsvc) 將不會啟動。

CSP 是 Windows 作業系統中的硬體與軟體元件,提供一般密碼編譯功能。 CSP 可編寫為提供各種不同的加密和簽章演算法。

KSP 可為執行 Windows Server 2008 R2 最低伺服器版本和 Windows Vista 最低用戶端版本的電腦提供增強式金鑰保護功能。

重要

選取提供者、雜湊演算法和金鑰長度時,您應該謹慎地考量您想要使用的應用程式與裝置可以支援哪些密碼編譯選項。 雖然這是選取最強安全性選項的最佳作法,但並非所有應用程式和裝置都可以支援這些選項。

如果您的支援需求變更,您因而可以使用更強的安全性選項,例如移轉至 KSP 和更強的雜湊演算法,請參閱將憑證授權單位從密碼編譯服務提供者 (CSP) 移轉至金鑰儲存提供者 (KSP)

[CA 存取私密金鑰時,允許系統管理員互動] 是通常會與硬體安全模組 (HSM) 搭配使用的選項。 這可讓密碼編譯提供者在存取 CA 的私密金鑰時提示使用者提供額外的驗證。 這個選項可以用來要求系統管理員在執行每項密碼編譯操作之前先輸入密碼,這有助於防止在未經核准的情況下使用 CA 及其私密金鑰。

內建的密碼編譯提供者支援如下表所述的特定金鑰長度及雜湊演算法。

密碼編譯提供者

金鑰長度

雜湊演算法

Microsoft 基礎密碼編譯提供者 v1.0

  • 512

  • 1024

  • 2048

  • 4096

  • SHA1

  • MD2

  • MD4

  • MD5

Microsoft 基礎 DSS 密碼編譯提供者

  • 512

  • 1024

SHA1

Microsoft 基礎智慧卡密碼編譯提供者

  • 1024

  • 2048

  • 4096

  • SHA1

  • MD2

  • MD4

  • MD5

Microsoft 增強型密碼編譯提供者 v1.0

  • 512

  • 1024

  • 2048

  • 4096

  • SHA1

  • MD2

  • MD4

  • MD5

Microsoft 強式密碼編譯提供者

  • 512

  • 1024

  • 2048

  • 4096

  • SHA1

  • MD2

  • MD4

  • MD5

RSA#Microsoft 軟體金鑰儲存提供者

  • 512

  • 1024

  • 2048

  • 4096

  • SHA1

  • SHA256

  • SHA384

  • SHA512

  • MD2

  • MD4

  • MD5

DSA#Microsoft 軟體金鑰儲存提供者

  • 512

  • 1024

  • 2048

SHA1

ECDSA_P256#Microsoft 軟體金鑰儲存提供者

256

  • SHA1

  • SHA256

  • SHA384

  • SHA512

ECDSA_P384#Microsoft 軟體金鑰儲存提供者

384

  • SHA1

  • SHA256

  • SHA384

  • SHA512

ECDSA_P521#Microsoft 軟體金鑰儲存提供者

521

  • SHA1

  • SHA256

  • SHA384

  • SHA512

RSA#Microsoft 智慧卡金鑰儲存提供者

  • 1024

  • 2048

  • 4096

  • SHA1

  • SHA256

  • SHA384

  • SHA512

  • MD2

  • MD4

  • MD5

ECDSA_P256#Microsoft 智慧卡金鑰儲存提供者

256

  • SHA1

  • SHA256

  • SHA384

  • SHA512

ECDSA_P384#Microsoft 智慧卡金鑰儲存提供者

384

  • SHA1

  • SHA256

  • SHA384

  • SHA512

ECDSA_P521#Microsoft 智慧卡金鑰儲存提供者

521

  • SHA1

  • SHA256

  • SHA384

  • SHA512

建立 CA 名稱

當您在組織中設定憑證授權單位 (CA) 之前,應該先建立 CA 命名慣例。

您可以使用任何 Unicode 字元建立名稱,但如果有互通性考量,您也可以使用 ANSI 字元集。 例如,如果 CA 名稱包含特殊字元 (例如底線),某些類型的路由器將無法使用網路裝置註冊服務來註冊憑證。

重要

如果您使用非拉丁字元 (例如,斯拉夫文、阿拉伯文或中文字元),您的 CA 名稱包含的字元數必須少於 64 個字元。 如果您只使用非拉丁字元,您 CA 名稱的長度則不得超過 37 個字元。

在 Active Directory 網域服務 (AD DS) 中,您在將伺服器設定為 CA 時所指定的名稱會成為 CA 的一般名稱,而且此名稱會反映在 CA 所簽發的每個憑證中。 基於此原因,請不要使用完整的網域名稱作為 CA 的一般名稱。 如此一來,取得憑證複本的惡意使用者便無法識別及使用 CA 的完整網域名稱來建立潛在的安全性弱點。

警告

CA 名稱不應與電腦的名稱 (NetBIOS 或 DNS 名稱) 相同。 而且,安裝 Active Directory 憑證服務 (AD CS) 後,若變更伺服器的名稱,必然會使 CA 簽發的所有憑證失效。 如要了解 CA 名稱的其他相關考量,請參閱 TechNet Wiki 文章:憑證授權單位 (CA) 名稱考量

若要在安裝 AD CS 之後變更伺服器名稱,您必須解除安裝 CA、變更伺服器名稱、使用相同金鑰重新安裝 CA,以及修改登錄以便使用現有 CA 金鑰和資料庫。 如果您重新命名網域,您不需要重新安裝 CA,但是您必須重新設定 CA 以支援名稱變更。

取得憑證要求

已安裝根憑證授權單位 (CA) 之後,許多組織都會安裝一或多個次級 CA,以在公開金鑰基礎結構 (PKI) 上實作原則限制,以及簽發憑證給終端用戶端。 使用至少一個次級 CA 有助於保護根 CA 以避免不必要的曝光。 當您安裝次級 CA 時,您必須從父系 CA 取得憑證。

如果父系 CA 在線上,您可以使用 [傳送憑證要求至父系 CA] 選項,然後依據 CA 名稱或電腦名稱選取父系 CA。

如果父系 CA 離線,您則應該使用 [將憑證要求儲存到目標電腦上的檔案] 選項。 此項作業的程序將是父系 CA 獨有的程序。 父系 CA 至少應該提供含有次級 CA 之新簽發憑證的檔案,最好是完整的憑證路徑。

如果您收到不包含完整憑證路徑的次級 CA 憑證,您安裝的新次級 CA 必須能夠在其啟動時建立有效的 CA 鏈結。 執行下列動作以建立有效的憑證路徑:

  • 如果父系 CA 不是根 CA,請在電腦的 [中繼憑證授權單位] 憑證存放區中安裝父系 CA 的憑證。

  • 安裝鏈結中任何其他中繼 CA 的憑證。

  • 將根 CA 的憑證安裝至信任的根憑證授權單位存放區。

System_CAPS_note注意事項

您應該先在憑證存放區中安裝這些憑證,然後再於您剛剛設定的次級 CA 上安裝 CA 憑證。

驗證有效期間

以憑證為基礎的密碼編譯是使用公開金鑰密碼編譯來保護及簽署資料。 經過一段時間之後,攻擊者可能取得公開金鑰保護的資料,並嘗試從中衍生私密金鑰。 只要有足夠的時間和資源,這個私密金鑰就可能被洩露,讓所有受保護的資料不再受到保護。 而且在一段時間之後,由憑證所保證的名稱也可能需要變更。 因為憑證是名稱與公開金鑰之間的繫結,所以當其中之一有變更時,就應該要更新憑證。

每個憑證都有一個有效期間。 有效期間結束之後,憑證便不再是可接受及可使用的認證。

CA 無法發行有效期間超出其自身有效期間的憑證。 最佳做法是在 CA 憑證的有效期間已經過一半時更新 CA 憑證。 安裝 CA 時,您應該規劃此日期,並確認加以記錄為日後工作。

選擇 CA 資料庫

就像許多資料庫一樣,憑證授權單位的資料庫是硬碟上的一個檔案。 除了這個檔案之外,其他檔案是做為交易記錄使用,而且它們會在變更之前接收對資料庫的所有修改。 由於這些檔案可能會頻繁且同時被存取,因此最好是將資料庫和交易記錄保留在不同的硬碟或高效能磁碟組態 (例如等量磁碟區) 上。

憑證資料庫和記錄檔的位置會儲存在以下登錄位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

登錄包含下列值:

  • DBDirectory

  • DBLogDirectory

  • DBSystemDirectory

  • DBTempDirectory

System_CAPS_note注意事項

您可以在安裝之後移動憑證資料庫和記錄檔。 如需相關資訊,請參閱 Microsoft 知識庫文章 283193

設定 CA

安裝根 CA 或次級 CA 之後,您必須在 CA 簽發任何憑證之前先設定授權單位資訊存取 (AIA) 和 CRL 發佈點 (CDP) 延伸。 AIA 延伸會指定要尋找 CA 之最新憑證的位置。 CDP 延伸會指定尋找 CA 所簽署之最新 CRL 的位置。 這些延伸會套用至該 CA 簽發的所有憑證。

設定這些延伸可確保 CA 簽發的每個憑證中都有包含此資訊,以便供所有用戶端使用。 這可確保將 PKI 用戶端遇到因未驗證的憑證鏈結或憑證撤銷而發生失敗的次數減到最少,這些失敗可能會導致無法成功連線 VPN,智慧卡登入失敗,或未經驗證的電子郵件簽章。

身為 CA 系統管理員,您可以新增、移除或修改 CRL 發佈點,以及 CDP 和 AIA 憑證簽發的位置。 修改 CRL 發佈點的 URL 只會影響新簽發的憑證。 先前簽發的憑證將會繼續參照原始位置,這就是為什麼您應該在 CA 發佈任何憑證之前先建立這些位置。

當您設定 CDP 延伸 URL 時,請考量這些指導方針:

  • 避免在離線根 CA 上發佈 Delta CRL。 因為您不會在離線根 CA 上撤銷許多憑證,所以可能不需要 Delta CRL。

  • 依據您的需求,在憑證授權單位之 [屬性延伸] 索引標籤的 [延伸] 索引標籤上,調整預設 LDAP:/// 和 HTTP:// URL 位置。

  • 在 HTTP 網際網路或外部網路位置上發佈 CRL,讓組織外部的使用者和應用程式能夠執行憑證驗證。 您可以發佈 CDP 位置的 LDAP 與 HTTP URL 來讓用戶端能夠透過 HTTP 和 LDAP 擷取 CRL 資料。

  • 請記住,Windows 用戶端一律會以循序方式擷取 URL 的清單,直到擷取有效的 CRL 為止。

  • 請使用 HTTP CDP 位置來為執行非 Windows 作業系統的用戶端提供可存取的 CRL 位置。

System_CAPS_note注意事項

如需 CRL 和 Delta CRL 的相關詳細資訊,請參閱設定憑證撤銷

Windows PowerShell 和 certutil 支援變數編號 (前面加上百分比 (%) 符號),以協助發佈 CDP 和 AIA 位置。 CA 的 [屬性延伸] 索引標籤支援以方括弧括住的變數。 下表列出介面之間的變數,並說明其意義。

變數

[延伸] 索引標籤名稱

描述

%1

<ServerDNSName>

CA 電腦的 DNS 名稱。 如果連線到 DNS 網域,它會是完整的網域名稱,否則就會是電腦的主機名稱。

%2

<ServerShortName>

CA 伺服器的 NetBIOS 名稱

%3

<CaName>

CA 的名稱

%4

<CertificateName>

這可讓憑證的每個額外的修訂版本具有唯一的尾碼。

%4

未使用

%6

<ConfigurationContainer>

Active Directory 網域服務 (AD DS) 中組態容器的位置

%7

<CATruncatedName>

截斷為 32 個字元並以井號結尾的 CA 名稱

%8

<CRLNameSuffix>

這會在將 CRL 發佈至檔案或 URL 位置時,在檔案名稱上插入尾碼。

%9

<DeltaCRLAllowed>

在發佈 Delta CRL 時,這會以個別的尾碼取代 CRLNameSuffix 變數,以區別 Delta CRL 與 CRL。

%10

<CDPObjectClass>

CRL 發佈點的物件類別識別碼 (在發佈至 LDAP URL 時使用)。

%11

<CAObjectClass>

CA 的物件類別識別碼 (在發佈至 LDAP URL 時使用)。

發佈 AIA 延伸

AIA 延伸會告知用戶端電腦可以在哪裡找到要驗證的憑證。 這可以讓用戶端確認是否可以信任憑證。

您可以使用憑證授權單位介面、Windows PowerShell 或 certutil 命令來設定 AIA 延伸。 下表描述您可以透過使用這些方法來與 AIA 延伸搭配使用的選項。

介面核取方塊名稱

Windows PowerShell 參數

Certutil 值

包含在簽發之憑證的 AIA 延伸中

-AddToCertificateAia

2

包含在線上憑證狀態通訊協定 (OCSP) 延伸中

-AddToCertificateOcsp

32

本節中發佈 AIA 延伸的範例代表以下狀況:

  • 網域名稱是 corp.contoso.com。

  • 網域中有一個名為 App1 的網頁伺服器。

  • App1 有一個名為 PKI 並允許具有 CA 讀取和寫入權限的共用資料夾。

  • App1 有 www 的 DNS CNAME 與一個名為 PKI 的共用虛擬目錄。

  • 用戶端電腦用於 AIA 資訊的第一個通訊協定應為 HTTP。

  • 用戶端電腦用於 AIA 資訊的第二個通訊協定應為 LDAP。

  • 正在設定的 CA 是一個線上發行 CA。

  • OCSP 不在使用中。

使用介面來發佈 AIA 延伸

介面會使用之前的表格中所描述的變數和核取方塊名稱。 您可以透過憑證授權單位介面來存取介面。 從內容窗格中,用滑鼠右鍵按一下 CA,按一下 [屬性],然後按一下 [延伸]。 在 [選取延伸] 中,按一下 [授權資訊存取 (AIA)]。

AIA 屬性

圖 1 AIA 延伸功能表

使用者介面中設定的位置與設定如下:

  • C:\Windows\system32\CertSrv\CertEnroll\<ServerDNSName>_<CaName><CertificateName>.crt

  • https://www.contoso.com/pki/\<ServerDNSName>_<CaName><CertificateName>.crt

    • 包含在簽發之憑證的 AIA 延伸中
  • file://\\App1.corp.contoso.com\pki\<ServerDNSName>_<CaName><CertificateName>.crt

  • ldap:///CN=<CATruncatedName>,CN=AIA,CN=Public Key Services,CN=Services,<ConfigurationContainer><CAObjectClass>

    • 包含在簽發之憑證的 AIA 延伸中

使用 Windows PowerShell 來發佈 AIA 延伸

下列 Windows PowerShell 命令可以用來針對指定狀況設定 AIA 延伸:

$aialist = Get-CAAuthorityInformationAccess; foreach ($aia in $aialist) {Remove-CAAuthorityInformationAccess $aia.uri -Force};
Add-CAAuthorityInformationAccess -AddToCertificateAia https://www.contoso.com/pki/%1_%3%4.crt
Add-CAAuthorityInformationAccess -AddToCertificateAia file://\\App1.corp.contoso.com\pki\%1_%3%4.crt
Add-CAAuthorityInformationAccess -AddToCertificateAia "ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11"
System_CAPS_note注意事項
  • 如果您使用 Windows PowerShell 新增 AIA 路徑,將會保留現有路徑。 範例中第一個 Windows PowerShell 命令會移除所有現有路徑。 如需使用 Windows PowerShell 移除 AIA 路徑的相關詳細資訊,請參閱 Remove-CAAuthorityInformationAccess

  • 您無法使用 Add-CAAuthorityInformationAccess Windows PowerShell Cmdlet 新增本機路徑。 CA 憑證將會自動發佈至 %systemroot%\system32\CertSrv\CertEnroll 的預設位置。

使用 certutil 來發佈 AIA 延伸

以下 certutil 命令可以用來針對指定狀況設定 AIA 延伸:

certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:https://www.contoso.com/pki/%1_%3%4.crt\n1:file://\\App1.corp.contoso.com\pki\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11"
System_CAPS_note注意事項
  • 在您變更這些路徑之後,請務必重新啟動 CertSvc。您可以執行以下 Windows PowerShell 命令來重新啟動 CertSvc:restart-service certsvc

  • 在 certutil 命令中,以一個連續字串方式輸入所有路徑並用引號括住。 每個路徑都以 \n 區隔。

發佈 CDP 延伸

CDP 延伸會告知用戶端電腦可以在哪裡找到最新的 CRL,讓用戶端可以確認特定憑證尚未被撤銷。

您可以使用憑證授權單位介面、Windows PowerShell 或 certutil 命令來設定 CDP 延伸。 下表描述您可以透過使用這些方法來與 CDP 延伸搭配使用的選項。

介面核取方塊名稱

Windows PowerShell 參數

Certutil 值

將 CRL 發佈到這個位置

-PublishToServer

1

包含在所有 CRL 中。

(指定手動發佈時,Active Directory 中的發佈位置。)

-AddToCrlCdp

8

包含在 CRL 中。

(用戶端可使用此項目來尋找 Delta CRL 位置。)

-AddToFreshestCrl

4

包含在簽發之憑證的 CDP 延伸中。

-AddToCertificateCdp

2

將 Delta CRL 發佈到這個位置。

-PublishDeltaToServer

64

包含在簽發之 CRL 的 IDP 延伸中

-AddToCrlIdp

128

System_CAPS_note注意事項

非 Windows 用戶端可使用發行發佈點 (IDP) 延伸來驗證憑證撤銷。 在使用協力廠商 CA 時,IDP 延伸可讓您部署分割的 CRL。 分割的 CRL 可讓協力廠商 CA 以每個 CRL 中特定憑證類型來發佈 CRL。 例如,您可以讓終端憑證與 CA 憑證擁有個別的 CRL。 具體而言,可以在 IDP 中設定下列選項:

  1. onlyContainUserCerts。 IDP 中的這個選項僅允許使用在基本限制延伸中沒有值 cA 的憑證。 如果憑證未包含基本限制延伸,則會假設它不是 CA。

  2. onlyContainsCACerts。 IDP 中的這個選項僅允許使用含有將 CA 設為包含在 CRL 中之基本限制延伸設定的憑證。

如果您允許將 Delta CRL 發佈到網際網路資訊服務 (IIS) 網頁伺服器,您必須透過在 IIS 組態的 [system.web] 區段中,設定 requestFiltering 元素的 allowDoubleEscaping=true,來修改預設 IIS 組態。 例如,如果您想要允許 IIS 上預設網站的 PKI 虛擬目錄雙重逸出,請在 IIS 網頁伺服器上執行以下命令:appcmd set config "Default Web Site/pki" -section:system.webServer/security/requestFiltering -allowDoubleEscaping:true。 如需詳細資訊,請參閱 AD CS:網頁伺服器應允許 URI 包含 "+" 字元以允許發佈 Delta CRL

本節中發佈 CDP 延伸的範例代表以下狀況:

  • 網域名稱是 corp.contoso.com。

  • 網域中有一個名為 App1 的網頁伺服器。

  • App1 有一個名為 PKI 並允許具有 CA 讀取和寫入權限的共用資料夾。

  • App1 有 www 的 DNS CNAME 與一個名為 PKI 的共用虛擬目錄。

  • 用戶端電腦用於 CDP 資訊的第一個通訊協定應為 HTTP。

  • 用戶端電腦用於 CDP 資訊的第二個通訊協定應為 LDAP。

  • 正在設定的 CA 是一個線上發行 CA。

  • IDP 不在使用中。

使用介面來發佈 CDP 延伸

介面會使用之前的表格中所描述的變數和核取方塊名稱。 您可以透過憑證授權單位介面來存取介面。 從內容窗格中,用滑鼠右鍵按一下 CA,按一下 [屬性],然後按一下 [延伸]。 在 [選取延伸] 中,按一下 [CRL 發佈點 (CDP)]。

CDP 屬性

圖 2 CDP 延伸功能表

介面中設定的位置與設定如下:

  • C:\Windows\System32\CertSrv\CertEnroll\<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl

    • 將 CRL 發佈到這個位置

    • 將 Delta CRL 發佈到這個位置

  • https://www.contoso.com/pki/\<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl

    • 包含在 CRL 中。 用戶端可使用此方式來尋找 Delta CRL 位置。

    • 包含在簽發之憑證的 CDP 延伸中

  • file://\\App1.corp.contoso.com\pki\<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl

    • 將 CRL 發佈到這個位置

    • 將 Delta CRL 發佈到這個位置

  • ldap:///CN=<CATruncatedName><CRLNameSuffix>,CN=<ServerShortName>,CN=CDP,CN=Public Key Services,CN=Services,<ConfigurationContainer><CDPObjectClass>

    • 包含在所有 CRL 中。 指定手動發佈時,Active Directory 中的發佈位置。

    • 包含在憑證的 CDP 延伸中

使用 Windows PowerShell 來發佈 CDP 延伸

下列 Windows PowerShell 命令可以用來針對指定狀況設定 CDP 延伸:

$crllist = Get-CACrlDistributionPoint; foreach ($crl in $crllist) {Remove-CACrlDistributionPoint $crl.uri -Force};
Add-CACRLDistributionPoint -Uri C:\Windows\System32\CertSrv\CertEnroll\%3%8%9.crl -PublishToServer -PublishDeltaToServer
Add-CACRLDistributionPoint -Uri https://www.contoso.com/pki/%3%8%9.crl -AddToCertificateCDP -AddToFreshestCrl
Add-CACRLDistributionPoint -Uri file://\\App1.corp.contoso.com\pki\%3%8%9.crl -PublishToServer -PublishDeltaToServer
Add-CACRLDistributionPoint -Uri "ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10" -AddToCrlCdp -AddToCertificateCdp
System_CAPS_note注意事項

如果您使用 Windows PowerShell 新增 CDP 路徑,將會保留現有路徑。 範例中第一個 Windows PowerShell 命令會移除所有現有路徑。 如需使用 Windows PowerShell 移除 CDP 路徑的相關詳細資訊,請參閱 Remove-CACrlDistributionPoint

使用 certutil 發佈 CDP 延伸

以下 certutil 命令可針對指定狀況設定 CDP 延伸:

certutil -setreg CA\CRLPublicationURLs "65:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n6:https://www.contoso.com/pki/%3%8%9.crl\n65:file://\\App1.corp.contoso.com\pki\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10"
System_CAPS_note注意事項
  • 在您變更這些路徑之後,請務必重新啟動 CA 服務。 您可以從 Windows PowerShell 執行以下命令來重新啟動 CertSvc:restart-service certsvc

  • 在 certutil 命令中,以一個連續字串方式輸入所有路徑並用引號括住,但請使用 \n 區隔每個路徑。

若要發佈 CRL,您可以從 Windows PowerShell 的 CA 上或在以系統管理員身分執行的命令提示字元上執行 certutil -crl 命令。 如需 CRL 組態與發佈的相關詳細資訊,請參閱設定憑證撤銷

驗證組態

若要驗證 CA 組態,您可以從 Windows PowerShell 或從命令提示字元視窗執行下列命令:

命令

描述

Certutil -CAInfo

顯示 CA 之名稱、地區設定、物件識別碼 (OID) 及 CRL 的狀態。

Certutil -getreg

顯示 CA 登錄組態。

Certutil -ADCA

確認企業 CA 的組態。

您可以使用企業 PKI 檢視 (PKIView.msc) 工具來檢查您的 AIA 和 CDP 發佈組態。 如需詳細資訊,請參閱企業 PKI

您也可以使用線上回應者角色服務來檢查憑證撤銷。 如需線上回應者的相關詳細資訊,請參閱線上回應者安裝、設定及疑難排解指南

相關內容