创建已签名消息

下图描绘了创建签名消息必须完成的任务。 步骤在图示后列出。

对消息进行签名

创建签名邮件

  1. 根据需要创建数据 () 并获取指向它的指针。

  2. 打开包含签名者证书的证书 存储

  3. 获取证书的 私钥 。 在使用证书之前,必须在证书上设置属性,以将证书绑定到特定 CSP,并在该 CSP 中绑定到特定私钥。 这需要设置一次。

  4. 为摘要操作选择哈希算法。 建议从可配置的位置选择哈希算法,该位置随后无需更改代码即可进行更新。

  5. 使用哈希算法通过哈希函数发送数据,从而创建 哈希 (摘要) 数据。

  6. 使用通过证书上的 属性获取的 私钥 ,加密摘要并创建签名。

  7. 在已签名的消息中包含以下内容:

    • 已签名的数据
    • 哈希算法
    • 签名
    • 签名者标识符 (证书颁发者和序列号)
    • 签名者的证书 (可选)

有关详细过程和示例,请参阅 为数据签名的过程示例 C 程序:对消息进行签名和验证消息签名