次の方法で共有


CryptMsgGetAndVerifySigner 関数 (wincrypt.h)

CryptMsgGetAndVerifySigner 関数は、暗号化メッセージの署名を検証します。

構文

BOOL CryptMsgGetAndVerifySigner(
  [in]                HCRYPTMSG      hCryptMsg,
  [in]                DWORD          cSignerStore,
  [in, optional]      HCERTSTORE     *rghSignerStore,
  [in]                DWORD          dwFlags,
  [out, optional]     PCCERT_CONTEXT *ppSigner,
  [in, out, optional] DWORD          *pdwSignerIndex
);

パラメーター

[in] hCryptMsg

暗号化メッセージのハンドル。

[in] cSignerStore

rghSignerStore 配列内のストアの数。

[in, optional] rghSignerStore

署名者の証明書を検索できる証明書ストア ハンドルの配列。

[in] dwFlags

関数の特定の使用を示します。

意味
CMSG_TRUSTED_SIGNER_FLAG
rghSignerStore のストアは信頼されていると見なされ、署名者の発行者とシリアル番号に対応する証明書を検索するために検索される唯一のストアです。 それ以外の場合は、署名者ストアを指定して、メッセージの証明書ストアを補完できます。 署名者証明書が見つかった場合は、その公開キーを使用してメッセージ署名を確認します。
CMSG_SIGNER_ONLY_FLAG
署名の検証を行わずに署名者を返します。
CMSG_USE_SIGNER_INDEX_FLAG
*pdwSignerIndex で指定された署名者のみが返されます。 それ以外の場合は、署名が検証されるか、署名者がもう存在しないまで、すべての署名者を反復処理します。

[out, optional] ppSigner

署名が検証されると、署名者の証明書コンテキストを指す ppSigner が更新されます。 証明書の使用が完了したら、 CertFreeCertificateContext 関数を呼び出してコンテキストを解放します。 アプリケーションが署名者の証明書を必要としていない場合、このパラメーターは NULL にすることができます。

[in, out, optional] pdwSignerIndex

署名が検証されると、 pdwSigner は、署名者の配列内の署名者のインデックスを指すように更新されます。 アプリケーションが署名者のインデックスを必要としない場合、このパラメーターは NULL にすることができます。

戻り値

関数が成功した場合、戻り値は 0 以外 (TRUE) になります。

関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

CERT_CONTEXT

CTL_CONTEXT

CryptMsgControl

CryptMsgOpenToDecode

CCTL を使用した検証関数