CERT_USAGE_MATCH 結構 (wincrypt.h)
CERT_USAGE_MATCH 結構提供用來識別用來建置憑證鏈結之簽發者憑證的準則。
語法
typedef struct _CERT_USAGE_MATCH {
DWORD dwType;
CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
成員
dwType
決定要完成的簽發者比對種類。 在 AND 邏輯中,憑證必須符合所有準則。 在 OR 邏輯中,憑證必須至少符合其中一個準則。 下列程式代碼是定義來判斷比對中使用的邏輯。 如需此套用方式的詳細資訊,請參閱。
值 | 意義 |
---|---|
|
AND 邏輯 |
|
OR 邏輯 |
預設使用量比對邏輯USAGE_MATCH_TYPE_AND。
Usage
CERT_ENHKEY_USAGE 結構 (CERT_ENHKEY_USAGE 是 CTL_USAGE結構) 的替代 typedef 名稱,其中包含憑證 物件 (標識子 陣列,) 憑證必須相符才能有效。
備註
如果 dwType 成員設定為 USAGE_MATCH_TYPE_OR,Usage 成員不能是空的。
如果 dwType 成員設定為 USAGE_MATCH_TYPE_AND,空的 Usage 成員表示鏈結中的任何巢狀使用方式都會運作。
下列描述指定兩個增強密鑰使用方式的行為, (EKU) 延伸模組 EKU A 和 EKU B。
AND 邏輯
如果呼叫端指定 EKU A AND EKU B,則如果 EKU A 和 EKU B 受到路徑中的每個憑證支援, (由明確 EKU 設定或透過 CA 憑證中不存在的 EKU 延伸模組,則目標憑證有效。)OR 邏輯
如果呼叫端指定 EKU A OR EKU B,則如果路徑支援 EKU A 或 EKU B,則目標憑證有效。除了路徑中的憑證包含 EKU A 或 EKU B 的簡單案例之外, OR 子句還有下列特殊評估。
假設有下列路徑, OR 測試會被視為有效:
雖然鏈結中 EKU 的交集是空的集合,但 EE 憑證的使用對 EKU A 有效,因為密碼編譯 API 的要求會指定如果路徑的每個憑證都支援 EKU A OR EKU B,則憑證是有效的。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | wincrypt.h |