共用方式為


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,此函式會計算加密數據所需的大小,並傳回 由 azureResult 參數指向的位置大小。

[in] cbOutput

pbOutput 參數所指向之緩衝區的大小,以位元組為單位。

[out] pcbResult

DWORD 變數的指標,接收複製到 pbOutput 緩衝區的位元組數目。 如果 pbOutputNULL,這會接收簽章所需的大小,以位元組為單位。

傳回值

如果函式成功,函式會傳回零。

如果函式失敗,它會傳回 HRESULT 值,指出錯誤。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 cryptxml.h