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 を調べて、サブジェクトの ID の表現を決定します。 最初は、 SubjectAlgorithm の値としてサポートされるのは SHA1 ハッシュと MD5 ハッシュのみです。 適切なハッシュ プロパティは、 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
将来使用するために予約されており、0 である必要があります。
戻り値
関数が成功した場合、戻り値はエントリ (見つかった場合) です。
関数が失敗した場合は、返される値は NULL です。 拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー コードの一部を次に示します。
リターン コード | 説明 |
---|---|
|
サブジェクトが 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 |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |