使用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关闭消息。

你可能感兴趣的:(PKI)