共用方式為


簽署數據的程式

單一函式 CryptSignMessage會執行 建立簽署訊息中列出的所有工作。 不過,仍然需要結構和其他數據的初始化。 下圖顯示指向結構或陣列及其初始化數據之函式參數之間的關聯性。 此圖僅顯示衍生自其他結構或函式的函式參數和結構成員。 其餘的參數都是簡單的初始化。

針對呼叫 cryptsignmessage初始化對應圖

使用 CryptSignMessage 來簽署數據

  1. 取得要簽署之數據的指標。
  2. 將指標指派給「要簽署的數據」陣列的索引零。
  3. 取得加密提供者的控制代碼。
  4. 開啟 證書存儲,其中包含簽署者的憑證。
  5. 取得簽署者憑證的位址。
  6. 將憑證的位址指派給 msgCert 陣列 的零索引。
  7. 將任何其他憑證的位址指派給要隨附訊息的 MsgCert 陣列。
  8. 初始化 CRYPT_ALGORITHM_IDENTIFIER 結構,並視需要將 pszObjId 成員初始化為所需的哈希演算法和其他成員。
  9. 初始化 CRYPT_SIGN_MESSAGE_PARA 結構,將 pSigningCert 成員初始化為簽署者的憑證位址、MsgCert 陣列成員初始化為簽署者和其他憑證的位址、HashAlgorithm 成員初始化為 CRYPT_ALGORITHM_IDENTIFIER 結構的位址,以及其他成員根據需要進行初始化。
  10. 呼叫 CryptSignMessage 函式,傳遞用於 pSignPara 參數的 CRYPT_SIGN_MESSAGE_PARA 結構、「要簽署的數據」數組的位址作為 rgpbToBeSigned 參數、pbSignedBlob 輸出參數的位址,以及其他適當的參數值。