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 を指定できます。

意味
CTL_CERT_SUBJECT_TYPE
pvSubject データ型: CERT_CONTEXT 構造体へのポインター。

CTL の SubjectAlgorithm を調べて、サブジェクトの ID の表現を決定します。 最初は、 SubjectAlgorithm の値としてサポートされるのは SHA1 ハッシュと MD5 ハッシュのみです。 適切なハッシュ プロパティは、 CERT_CONTEXT 構造体から取得されます。

CTL_ANY_SUBJECT_TYPE
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 を呼び出します。 考えられるエラー コードの一部を次に示します。

リターン コード 説明
CRYPT_E_NOT_FOUND
サブジェクトが CTL で見つかりませんでした。
E_INVALIDARG
dwSubjectType パラメーターがCTL_CERT_SUBJECT_TYPEでもCTL_ANY_SUBJECT_TYPEでもありません。
NTE_BAD_ALGID
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

こちらもご覧ください

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

証明書と証明書ストアのメンテナンス機能