次の方法で共有


CryptXmlDllSignData コールバック関数 (cryptxml.h)

CryptXmlDllSignData 関数はデータに署名します。

CryptXmlDllSignData 関数は、エクスポートされた CryptXmlDllGetInterface 関数を通じて公開されます。

構文

CryptXmlDllSignData Cryptxmldllsigndata;

HRESULT Cryptxmldllsigndata(
  [in]            const CRYPT_XML_ALGORITHM *pSignatureMethod,
  [in]            HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
  [in]            DWORD dwKeySpec,
  [in]            const BYTE *pbInput,
  [in]            ULONG cbInput,
  [out, optional] BYTE *pbOutput,
  [in]            ULONG cbOutput,
  [out]           ULONG *pcbResult
)
{...}

パラメーター

[in] pSignatureMethod

アルゴリズムを指定する CRYPT_XML_ALGORITHM 構造体へのポインター。

[in] hCryptProvOrNCryptKey

署名を作成する 暗号化サービス プロバイダー (CSP) のハンドル。 このハンドルは、CryptAcquireContext 関数の呼び出しから取得された HCRYPTPROV ハンドル、または NCryptOpenKey 関数を使用して作成されたNCRYPT_KEY_HANDLE ハンドルである必要があります。 新しいアプリケーションでは、 NCRYPT_KEY_HANDLE ハンドルを渡す必要があります。

[in] dwKeySpec

プロバイダーのコンテナーから使用する秘密キー。 このキーは、AT_KEYEXCHANGEまたはAT_SIGNATUREできます。 hCryptProvOrNCryptKey パラメーターでNCRYPT_KEY_HANDLE ハンドルが使用されている場合、このパラメーターは無視されます。

[in] pbInput

署名するダイジェスト値を含むバッファーへのポインター。 cbInput パラメーターには、このバッファーのサイズが含まれています。

[in] cbInput

pbInput パラメーターが指すバッファーのサイズ (バイト単位)。

[out, optional] pbOutput

この関数によって生成された署名を受け取るバッファーのアドレス。 cbOutput パラメーターには、このバッファーのサイズが含まれています。

このパラメーターが NULL の場合、この関数は暗号化されたデータに必要なサイズを計算し、 pcbResult パラメーターが指す場所のサイズを返します。

[in] cbOutput

pbOutput パラメーターが指すバッファーのサイズ (バイト単位)。

[out] pcbResult

pbOutput バッファーにコピーされたバイト数を受け取る DWORD 変数へのポインター。 pbOutputNULL の場合、署名に必要なサイズ (バイト単位) を受け取ります。

戻り値

関数が成功した場合、関数は 0 を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー cryptxml.h