CertFindCTLInStore 関数 (wincrypt.h)
CertFindCTLInStore 関数は、dwFindType とそれに関連付けられた pvFindParaによって確立された検索条件に一致する、最初または次の 証明書信頼リスト (CTL) コンテキスト を検索します。 この関数をループで使用すると、指定した検索条件に一致する 証明書ストア 内のすべての CTL コンテキストを検索できます。
構文
PCCTL_CONTEXT CertFindCTLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwMsgAndCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCTL_CONTEXT pPrevCtlContext
);
パラメーター
[in] hCertStore
検索する証明書ストアのハンドル。
[in] dwMsgAndCertEncodingType
CTL で使用されるエンコードの種類を指定します。 次の例に示すように、証明書と メッセージ エンコードの種類 の両方をビットごとのOR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING 現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
このパラメーターは、dwFindType パラメーターが CTL_FIND_USAGE に設定されている場合にのみ使用されます。
[in] dwFindFlags
dwFindType
[in] dwFindType
検索する検索の種類を指定します。 検索の種類によって、データ型、コンテンツ、および pvFindPara
価値 | 意味 |
---|---|
|
pvFindParaのデータ型: NULL。
CTL はすべて一致します。 |
|
pvFindParaのデータ型: CRYPT_HASH_BLOB。
CRYPT_HASH_BLOB 構造体のハッシュと一致するハッシュを持つ CTL が見つかりました。 |
|
pvFindParaのデータ型: CRYPT_HASH_BLOB。
CRYPT_HASH_BLOB 構造体のハッシュと一致するハッシュを持つ CTL が見つかりました。 |
|
pvFindParaのデータ型: CTL_FIND_USAGE_PARA。
CTL_FIND_USAGE_PARA 構造内の使用状況識別子、リスト識別子、または署名者と一致する使用状況識別子、リスト識別子、または署名者を持つ CTL が見つかりました。 listIdentifier メンバーの |
|
pvFindParaのデータ型: CTL_FIND_USAGE_PARA。
まったく同じ使用状況識別子を持つ CCTL のみが照合されます。 追加の使用状況識別子を持つ CTL は一致しません。 たとえば、CTL_FIND_USAGE_PARA 構造体で "1.2.3" のみが指定されている場合、一致する場合、CTL には "1.2.3" のみを含める必要があり、追加の使用識別子は含めてはなりません。 |
|
pvFindParaのデータ型: PCCTL_CONTEXT。
CTL_CONTEXTと完全に一致する次の CRL を検索します。 |
|
pvFindParaのデータ型: CTL_FIND_SUBJECT_PARA。
指定されたサブジェクトを持つ CTL が見つかりました。 CertFindSubjectInCTL |
[in] pvFindPara
dwFindType パラメーターに関連付けられている検索値へのポインター。
[in] pPrevCtlContext
この関数によって返される最後の CTL_CONTEXT へのポインター。 ストア内の最初の CTL を取得するには、NULL である必要があります。 連続する CCTL は、pPrevCtlContext 前の関数呼び出しによって返された CTL_CONTEXT へのポインターに を設定することによって取得されます。 検索条件を満たしていない証明書や、CertDeleteCTLFromStore によって以前に削除された証明書はスキップされます。 この関数は、このパラメーターの非NULL 値によって参照される CTL_CONTEXT を解放します。
戻り値
関数が成功した場合、戻り値は読み取り専用 CTLコンテキストへのポインターです。
拡張エラー情報については、GetLastError
リターン コード | 形容 |
---|---|
|
ストアに CCTL が見つからなかったか、検索条件に一致する CTL が見つからなかったか、関数がストアのリストの末尾に達しました。 |
|
hCertStore パラメーターのハンドルは、pPrevCtlContext パラメーターが指す CTL コンテキストのハンドルと同じではないか、dwFindType パラメーターで無効な値が指定されました。 |
備考
返されたポインターは、関数への後続の呼び出しで pPrevCtlContext として渡されると解放されます。 それ以外の場合は、CertFreeCTLContext
CertDuplicateCTLContext を呼び出して、返されたコンテキストの複製を作成できます。 返された CTL コンテキストは、
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | wincrypt.h |
ライブラリ | Crypt32.lib |
DLL | Crypt32.dll |