溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用CrpytAPI編碼和解碼PKCS#7消息

發(fā)布時間:2020-07-15 18:59:05 來源:網(wǎng)絡(luò) 閱讀:1469 作者:esafe 欄目:安全技術(shù)
為了在不同體系結(jié)構(gòu)的網(wǎng)絡(luò)和計算機之間交互加密消息,加密通信各方需要對傳送的消息使用標(biāo)準(zhǔn)的方式進行編碼。
CryptAPI支持PKCS #7標(biāo)準(zhǔn)加密消息語法格式消息。PKCS #7標(biāo)準(zhǔn)采用了CCITT X.208定義的ASN.1 BER編碼規(guī)則,定義了加密消息相關(guān)的類型和編碼方式。
使用CryptAPI進行加密消息編碼的基本步驟如下:
  1. 初始化消息類型相關(guān)的數(shù)據(jù)結(jié)構(gòu)。
  2. 調(diào)用CryptMsgOpenToEncode,獲得消息句柄。
  3. 調(diào)用CryptMsgUpdate填入數(shù)據(jù),此函數(shù)可以調(diào)用多次,直到此消息的所有數(shù)據(jù)被填寫完畢。最后一次調(diào)用應(yīng)將 fFinal 參數(shù)設(shè)置為TRUE。
  4. 調(diào)用CryptMsgGetParam獲取需要的編碼結(jié)果。
  5. 調(diào)用CryptMsgClose關(guān)閉消息。
解碼的基本步驟如下:
  1. 使用CryptMsgCalculateEncodedLength確定消息解碼所需要的使用的緩沖區(qū)長度。
  2. 調(diào)用CryptMsgOpenToDecode,獲得消息句柄。
  3. 調(diào)用CryptMsgUpdate填入數(shù)據(jù),此函數(shù)可以調(diào)用多次,直到此消息的所有數(shù)據(jù)被填寫完畢。
  4. 調(diào)用CryptMsgControl進行解密或驗證簽名之類的附加處理。
  5. 調(diào)用CryptMsgGetParam獲取需要的解碼結(jié)果。
  6. 調(diào)用CryptMsgClose關(guān)閉消息。
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI