次の方法で共有


PFN_CRYPT_GET_SIGNER_CERTIFICATE コールバック関数 (wincrypt.h)

CryptGetSignerCertificateCallback ユーザー指定のコールバック関数は、メッセージ署名者の証明書を取得および検証するために、CRYPT_VERIFY_MESSAGE_PARA構造体と共に使用されます。

構文

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

PCCERT_CONTEXT PfnCryptGetSignerCertificate(
  [in] void *pvGetArg,
  [in] DWORD dwCertEncodingType,
  [in] PCERT_INFO pSignerId,
  [in] HCERTSTORE hMsgCertStore
)
{...}

パラメーター

[in] pvGetArg

CRYPT_VERIFY_MESSAGE_PARA構造体で指定された検証関数に渡されるユーザー定義データへのポインター。

[in] dwCertEncodingType

使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING

現在定義されているエンコードの種類は次のとおりです。

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignerId

発行者とシリアル番号を含む CERT_INFO 構造体へのポインター。 コンテンツまたは署名者がない場合は NULL にすることができます

[in] hMsgCertStore

署名済みメッセージ内のすべての証明書と CRL を含む証明書ストアへのハンドル。

戻り値

署名者証明書が見つかった場合、関数は読み取り専用 のCERT_CONTEXTへのポインターを返します。 返された CERT_CONTEXT は、証明書ストアから取得されたか、 CertCreateCertificateContext を使用して作成されました。 どちらの場合も、 CertFreeCertificateContext を使用して解放する必要があります。 この関数が失敗した場合、戻り値は NULL です

注釈

メッセージにコンテンツまたは署名者が含まれていない場合、 関数は pSignerId をNULL に設定して呼び出されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wincrypt.h