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 |