次の方法で共有


WTHelperCertFindIssuerCertificate 関数

[ WTHelperCertFindIssuerCertificate 関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。

WTHelperCertFindIssuerCertificate 関数は、指定したサブジェクト証明書と一致する指定された証明書ストアから発行者証明書を検索します。

Note

この関数には、関連付けられたインポート ライブラリがありません。 LoadLibrary 関数と GetProcAddress 関数を使用して、Wintrust.dllに動的にリンクする必要があります。

 

構文

PCCERT_CONTEXT WINAPI WTHelperCertFindIssuerCertificate(
  _In_      PCCERT_CONTEXT pChildContext,
  _In_      DWORD          chStores,
  _In_      HCERTSTORE     *pahStores,
  _In_      FILETIME       *psftVerifyAsOf,
  _In_      DWORD          dwEncoding,
  _Out_opt_ DWORD          *pdwConfidence,
  _Out_     DWORD          *dwError
);

パラメーター

pChildContext [in]

一致する発行者証明書を検索するサブジェクト証明書。

chStores [in]

pahStores 配列内の要素の数。

pahStores [in]

検索する証明書ストアの配列。

psftVerifyAsOf [in]

検証の時刻。

dwEncoding [in]

チェックする証明書のエンコードの種類を指定する DWORD 値。 可能なエンコードの種類の詳細については、「 証明書とメッセージ のエンコードの種類」を参照してください。

pdwConfidence [out, optional]

このパラメーターには、次の信頼値の 0 個以上のビットごとの組み合わせを指定できます。

説明
CERT_CONFIDENCE_SIG
0x10000000
証明書の署名が有効です。
CERT_CONFIDENCE_TIME
0x01000000
証明書発行者の時刻が有効です。
CERT_CONFIDENCE_TIMENEST
0x00100000
証明書の時刻が有効です。
CERT_CONFIDENCE_AUTHIDEXT
0x00010000
機関 ID 拡張機能が有効です。
CERT_CONFIDENCE_HYGIENE
0x00001000
少なくとも、証明書と機関 ID 拡張機能の署名は有効です。
CERT_CONFIDENCE_HIGHEST
0x11111000
他のすべての信頼値の組み合わせ。

 

dwError [out]

この証明書のエラー値を含む DWORD 変数へのポインター (該当する場合)。

戻り値

pChildContext パラメーターで指定されたサブジェクト証明書と一致する発行者証明書。

解説

一致する発行者証明書を正常に見つけるには、次の要件を満たす必要があります。

  • pChildContext パラメーターで指定されたサブジェクト証明書の署名は有効である必要があります。
  • pChildContext パラメーターの pCertInfo メンバーの rgExtension メンバーには、CERT_AUTHORITY_KEY_ID_INFO構造体が含まれている必要があります。 この構造体 の CertIssuer メンバーと CertSerialMember メンバーは、発行者証明書の対応するメンバーと大きく一致します。
  • psftVerifyAsOf パラメーターの値は、サブジェクト証明書の有効期間内である必要があります。
  • サブジェクト証明書の有効期間は、発行者証明書の有効期間内である必要があります。

必要条件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
[DLL]
Wintrust.dll