IX509Extension 介面 (certenroll.h)

IX509Extension 介面可用來定義憑證要求的延伸模組。 憑證延伸模組提供密鑰使用方式、憑證原則和條件約束、替代名稱表單等相關信息。 延伸模組包含 物件標識碼 (OID) 、識別延伸模組是否為重要的布爾值,以及包含擴充值的位元組陣列,如下列 Abstract Syntax Notation One (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 Description
AuthorityInformationAccess (XCN_OID_AUTHORITY_INFO_ACCESS) 識別如何存取證書頒發機構單位資訊和服務。 擴充值包含 URI 序列。
CrlDistributionPoints (XCN_OID_CRL_DIST_POINTS) 包含 CRL) (基底 證書吊銷清單 的 URI。
FreshestCRL (XCN_OID_FRESHEST_CRL) 包含差異 CRL 的 URI。 此延伸模組和 CrlDistributionPoints 延伸模組使用相同的 ASN.1 語法。
NameConstraints (XCN_OID_NAME_CONSTRAINTS) 識別必須位於憑證階層中所有憑證主體名稱的命名空間。 此延伸模組只會用於證書頒發機構單位憑證中。
PolicyConstraints (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

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

規格需求

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

另請參閱

憑證註冊 API

ICryptAttribute

IDispatch

IX509AttributeExtensions

IX509Extensions