使用CrpytAPI编码和解码PKCS#7消息

为了在不同体系结构的网络和计算机之间交互加密消息,加密通信各方需要对传送的消息使用标准的方式进行编码。
CryptAPI支持PKCS #7标准加密消息语法格式消息。PKCS #7标准采用了CCITT X.208定义的ASN.1 BER编码规则,定义了加密消息相关的类型和编码方式。
使用CryptAPI进行加密消息编码的基本步骤如下:
  1. 初始化消息类型相关的数据结构。
  2. 调用CryptMsgOpenToEncode,获得消息句柄。
  3. 调用CryptMsgUpdate填入数据,此函数可以调用多次,直到此消息的所有数据被填写完毕。最后一次调用应将 fFinal 参数设置为TRUE。
  4. 调用CryptMsgGetParam获取需要的编码结果。
  5. 调用CryptMsgClose关闭消息。
解码的基本步骤如下:
  1. 使用CryptMsgCalculateEncodedLength确定消息解码所需要的使用的缓冲区长度。
  2. 调用CryptMsgOpenToDecode,获得消息句柄。
  3. 调用CryptMsgUpdate填入数据,此函数可以调用多次,直到此消息的所有数据被填写完毕。
  4. 调用CryptMsgControl进行解密或验证签名之类的附加处理。
  5. 调用CryptMsgGetParam获取需要的解码结果。
  6. 调用CryptMsgClose关闭消息。

你可能感兴趣的:(PKCS,#7,CryptAPI)