共用方式為


IX509Extension 介面 (certenroll.h)

IX509Extension 介面可用來定義 憑證要求的延伸模組。 憑證延伸模組提供密鑰使用方式、憑證原則和條件約束、替代名稱表單等相關信息。 延伸模組包含 物件標識符 (OID)、布爾值,可識別延伸模組是否重要,以及包含擴充值的位元組陣列,如下列 抽象語法表示法一 (ASN.1) 語法所示。


Extension ::= SEQUENCE 
{
   extnId              OBJECT IDENTIFIER,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

憑證註冊 API 包含下列介面,衍生自 IX509Extension,可用來建立在依賴 Windows 證書伺服器的公鑰基礎結構 (PKI) 中最常使用的各種延伸模組。

注意 請勿使用 IX509Extension 基底介面來表示可由下列其中一個介面表示的任何延伸模組。 如果未使用適當的介面,則未定義註冊行為。

 
介面 描述
IX509ExtensionAlternativeNames 定義 AlternativeNames 延伸模組,其中包含憑證要求主體的一或多個替代名稱表單。
IX509ExtensionAuthorityKeyIdentifier 定義 AuthorityKeyIdentifier 延伸模組,以識別 證書頒發機構單位公鑰,其對應至簽署已發行憑證的證書頒發機構單位 私鑰。 憑證路徑會在 Windows 伺服器上建置軟體,以尋找證書頒發機構單位憑證。
IX509ExtensionBasicConstraints 定義 BasicConstraints 延伸模組,以識別實體是否可以作為證書頒發機構單位使用,如果是的話,則可以在憑證鏈結中存在其下方的次級證書頒發機構單位數目。
IX509ExtensionCertificatePolicies 定義 CertificatePolicies 擴充功能,以識別已發行憑證的原則及其用途。
IX509ExtensionEnhancedKeyUsage 定義 EnhancedKeyUsage 擴充功能,以識別憑證中包含的一或多個公鑰用法。
IX509ExtensionKeyUsage 定義 KeyUsage 擴充功能,以限制憑證中包含的公鑰可執行的作業。
IX509ExtensionMSApplicationPolicies 定義 MSApplicationPolicies 擴充功能,應用程式可以根據允許的使用來篩選憑證。 允許的用途是由物件識別碼 (OID) 來識別。
IX509ExtensionSmimeCapabilities 定義 SmimeCapabilities 擴充功能,以識別電子郵件收件者的解密功能,讓電子郵件的寄件者可以選擇雙方支援的最安全加密演算法。
IX509ExtensionSubjectKeyIdentifier 定義 SubjectKeyIdentifier 延伸模組,以區分憑證擁有者持有的多個公鑰。 擴充值通常是索引鍵的SHA-1哈希。
IX509ExtensionTemplate 定義 範本 延伸模組,以識別發行或更新憑證時要使用的第 2 版範本。
IX509ExtensionTemplateName 定義 TemplateName 擴充功能,以識別發行或更新憑證時要使用的第 1 版範本。
 

大部分可以使用上述介面建立的延伸模組都是由第 3 版 X.509 語法標準所定義。 若要建立Microsoft未提供自定義物件的第3版延伸模組,您可以使用 IX509Extension 介面。 下表會識別這些延伸模組。

擴充功能/OID 描述
AuthorityInformationAccess(XCN_OID_AUTHORITY_INFO_ACCESS) 識別如何存取證書頒發機構單位資訊和服務。 擴充值包含一連串的 URI。
CrlDistributionPoints(XCN_OID_CRL_DIST_POINTS) 包含基底 證書吊銷清單的 URI (CRL)。
FreshestCRL(XCN_OID_FRESHEST_CRL) 包含差異 CRL 的 URI。 此延伸模組和 CrlDistributionPoints 延伸模組使用相同的 ASN.1 語法。
NameConstraints(XCN_OID_NAME_CONSTRAINTS) 識別憑證階層中憑證的所有主體名稱必須所在的命名空間。 延伸模組只會在證書頒發機構單位憑證中使用。
原則限制(XCN_OID_POLICY_CONSTRAINTS) 藉由禁止原則對應或要求階層中的每個憑證包含可接受的原則標識碼,來限制路徑驗證。
PolicyMappings(XCN_OID_POLICY_MAPPINGS) 識別與發行證書頒發機構單位中原則對應的次級證書頒發機構單位中的原則。 延伸模組值包含一連串的頒發證書頒發機構單位和次級證書頒發機構單位原則對應,以對象標識元表示。
PrivateKeyUsagePeriod(XCN_OID_PRIVATEKEY_USAGE_PERIOD) 為私鑰指定與與金鑰相關聯之憑證不同的有效期間。
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) 傳達有關憑證主體的國籍等識別屬性。 擴充值是 OID 值組的序列。
 

最後,您可以使用 IX509Extension 介面來定義私人延伸模組,其中包含特定社群特有的資訊。

擴充功能會新增至 PKCS #10 要求 結構 屬性,以及 CMC 要求的 TaggedAttributes 結構。 若要將延伸模組新增至任一要求格式,您必須先將它們新增至 IX509Extensions 集合,並使用集合來初始化 IX509AttributeExtensions 物件。 如需詳細資訊,請參閱 PKCS #10 延伸模組CMC 延伸模組 主題。

遺產

IX509Extension 介面繼承自 IDispatch 介面。 IX509Extension 也有下列類型的成員:

方法

IX509Extension 介面具有這些方法。

 
IX509Extension::get_Critical

指定及擷取布爾值,識別憑證延伸模組是否重要。 (取得)
IX509Extension::get_ObjectId

擷取延伸模組的物件標識碼 (OID)。
IX509Extension::get_RawData

擷取包含擴充值的位元組陣列。 (IX509Extension.get_RawData)
IX509Extension::Initialize

使用物件識別碼 (OID) 和包含辨別編碼規則 (DER) 編碼延伸模組的位元組數位,初始化 IX509Extension 物件。
IX509Extension::p ut_Critical

指定及擷取布爾值,識別憑證延伸模組是否重要。 (放)

要求

要求 價值
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 certenroll.h

另請參閱

憑證註冊 API

ICryptAttribute

IDispatch

IX509AttributeExtensions

IX509Extensions