CertFindSubjectInCTL 函式 (wincrypt.h)
CertFindSubjectInCTL 函式會嘗試在憑證信任清單中尋找指定的主體, (CTL) 。 主體可以透過憑證的整個內容或憑證主體的任何唯一標識符來識別,例如憑證簽發者的SHA1 哈希 和序號。
語法
PCTL_ENTRY CertFindSubjectInCTL(
[in] DWORD dwEncodingType,
[in] DWORD dwSubjectType,
[in] void *pvSubject,
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwFlags
);
參數
[in] dwEncodingType
指定使用的編碼類型。 目前只會使用X509_ASN_ENCODING和PKCS_7_ASN_ENCODING;不過,未來可能會新增其他編碼類型。 針對目前的編碼類型,請使用:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING。
[in] dwSubjectType
指定要在 CTL 中搜尋的主體類型。 可能是預設搜尋的 NULL 。
值 | 意義 |
---|---|
|
pvSubject 數據類型: CERT_CONTEXT 結構的指標。
會檢查 CTL 的 SubjectAlgorithm ,以判斷主體身分識別的表示法。 一開始,僅支援 SHA1 和 MD5 哈希作為 SubjectAlgorithm 的值。 適當的哈希屬性是從 CERT_CONTEXT 結構取得。 |
|
pvSubject 數據類型: CTL_ANY_SUBJECT_INFO 結構的指標。
這個結構的 SubjectAlgorithm 成員必須符合 CTL 的演算法類型, 而 SubjectIdentifier 成員必須符合其中一個 CTL 專案。 |
憑證的哈希或CTL_ANY_SUBJECT_INFO結構的 SubjectIdentifier 成員會用來作為搜尋主體專案的索引鍵。 索引鍵與專案的 SubjectIdentifier 之間會進行二進位記憶體比較。
如果 dwSubjectType 設定為上述值,就不會使用 dwEncodingType 。
[in] pvSubject
與 dwSubjectType 參數搭配使用的指標。
[in] pCtlContext
要搜尋 之CTL_CONTEXT 結構的指標。
[in] dwFlags
保留供日後使用,且必須為零。
傳回值
如果函式成功,如果找到傳回值,則傳回值為專案。
如果函式失敗,則傳回值為 NULL。 如需擴充錯誤資訊,請呼叫 GetLastError。 以下是一些可能的錯誤碼。
傳回碼 | Description |
---|---|
|
在 CTL 中找不到主體。 |
|
dwSubjectType 參數不是CTL_CERT_SUBJECT_TYPE或CTL_ANY_SUBJECT_TYPE。 |
|
CTL 的 SubjectAlgorithm 成員未對應至 SHA1 或 MD5。 |
備註
憑證的哈希或CTL_ANY_SUBJECT_INFO結構的 SubjectIdentifier 成員會用來作為搜尋主體專案的索引鍵。 索引鍵與專案的 SubjectIdentifier 之間會進行二進位記憶體比較。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |