為了在不同體系結(jié)構(gòu)的網(wǎng)絡(luò)和計(jì)算機(jī)之間交互加密消息,加密通信各方需要對(duì)傳送的消息使用標(biāo)準(zhǔn)的方式進(jìn)行編碼。
CryptAPI支持PKCS #7標(biāo)準(zhǔn)加密消息語(yǔ)法格式消息。PKCS #7標(biāo)準(zhǔn)采用了CCITT X.208定義的ASN.1 BER編碼規(guī)則,定義了加密消息相關(guān)的類型和編碼方式。
使用CryptAPI進(jìn)行加密消息編碼的基本步驟如下:
- 初始化消息類型相關(guān)的數(shù)據(jù)結(jié)構(gòu)。
- 調(diào)用CryptMsgOpenToEncode,獲得消息句柄。
- 調(diào)用CryptMsgUpdate填入數(shù)據(jù),此函數(shù)可以調(diào)用多次,直到此消息的所有數(shù)據(jù)被填寫完畢。最后一次調(diào)用應(yīng)將 fFinal 參數(shù)設(shè)置為TRUE。
- 調(diào)用CryptMsgGetParam獲取需要的編碼結(jié)果。
- 調(diào)用CryptMsgClose關(guān)閉消息。
解碼的基本步驟如下:
- 使用CryptMsgCalculateEncodedLength確定消息解碼所需要的使用的緩沖區(qū)長(zhǎng)度。
- 調(diào)用CryptMsgOpenToDecode,獲得消息句柄。
- 調(diào)用CryptMsgUpdate填入數(shù)據(jù),此函數(shù)可以調(diào)用多次,直到此消息的所有數(shù)據(jù)被填寫完畢。
- 調(diào)用CryptMsgControl進(jìn)行解密或驗(yàn)證簽名之類的附加處理。
- 調(diào)用CryptMsgGetParam獲取需要的解碼結(jié)果。
- 調(diào)用CryptMsgClose關(guān)閉消息。
當(dāng)前文章:使用CrpytAPI編碼和解碼PKCS#7消息
網(wǎng)站路徑:http://chinadenli.net/article10/jhgedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、小程序開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、域名注冊(cè)、虛擬主機(jī)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)