使用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關閉消息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章