CertVerifySubjectCertificateContext 関数 (wincrypt.h)
CertVerifySubjectCertificateContext 関数は、証明書の発行者の有効性を確認することで、証明書に対して有効な検証チェックを実行します。 この関数の代わりに、新しい 証明書チェーン検証関数 をお勧めします。
構文
BOOL CertVerifySubjectCertificateContext(
[in] PCCERT_CONTEXT pSubject,
[in, optional] PCCERT_CONTEXT pIssuer,
[in, out] DWORD *pdwFlags
);
パラメーター
[in] pSubject
サブジェクトの証明書を含む CERT_CONTEXT 構造体へのポインター。
[in, optional] pIssuer
発行者の証明書を含む CERT_CONTEXT へのポインター。 CERT_STORE_TIME_VALIDITY_FLAGのみをチェックする場合、 pIssuer はNULL にすることができます。
[in, out] pdwFlags
DWORD 値へのポインターには、検証チェックフラグが含まれています。 サブジェクト証明書の検証チェックを有効にするには、次のフラグを設定できます。 ビットごとの OR 操作を使用して組み合わせて、複数の検証を有効にすることができます。
有効な検証チェックが成功した場合、そのフラグは 0 に設定されます。 失敗した場合、そのフラグは戻り時に設定されます。
CERT_STORE_REVOCATION_FLAGが有効になっており、発行者がストアに CRL を持っていない場合は、CERT_STORE_REVOCATION_FLAGに加えてCERT_STORE_NO_CRL_FLAGが設定されます。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。
検証チェック失敗した場合でも、TRUE が返されます。 FALSE は、無効なパラメーターが渡された場合にのみ返されます。
拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー コードの 1 つは次のとおりです。
リターン コード | 説明 |
---|---|
|
pdwFlags でサポートされていないビットが設定されました。 CERT_STORE_SIGNATURE_FLAG、CERT_STORE_TIME_VALIDITY_FLAG、CERT_STORE_REVOCATION_FLAGの任意の組み合わせを設定できます。 pIssuer が NULL の場合は、CERT_STORE_TIME_VALIDITY_FLAGのみを設定できます。 |
注釈
フラグの 16 進値は、ビットごとの OR 操作を使用して組み合わせて、複数の検証を有効にすることができます。 たとえば、署名と時刻の両方の有効性を有効にするには、
CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG
は、入力パラメーターとして pdwFlagsDWORD 値に配置されます。 検証CERT_STORE_SIGNATURE_FLAG成功したが、CERT_STORE_TIME_VALIDITY_FLAG検証が失敗した場合、 pdwFlags は関数が戻ったときにCERT_STORE_TIME_VALIDITY_FLAGに設定されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |