j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)

j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)

ID:6615547

大?。?7.00 KB

頁數(shù):4頁

時(shí)間:2018-01-20

j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)_第1頁
j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)_第2頁
j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)_第3頁
j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)_第4頁
資源描述:

《j2me的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、J2ME的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)J2ME的移動(dòng)支付系統(tǒng)的客戶端的實(shí)現(xiàn)整個(gè)J2ME客戶端的邏輯架構(gòu)是由若干個(gè)功能模塊組成的,這些功能模塊覆蓋了網(wǎng)絡(luò)通信、用戶界面、安全等各個(gè)方面的職能,并通過模塊間的通信共同實(shí)現(xiàn)了移動(dòng)支付系統(tǒng)客戶端的功能。邏輯結(jié)構(gòu)如圖2所示,其中A~F的意義如下:A:用戶請(qǐng)求交易/交易操作結(jié)果B:用戶輸入的交易請(qǐng)求信息/服務(wù)器端返回的交易結(jié)果C:經(jīng)過XML加密的請(qǐng)求信息/經(jīng)過XML簽名認(rèn)證的返回結(jié)果D:經(jīng)過XML簽名的已加密請(qǐng)求信息/解析過的XML返回結(jié)果E:組裝好的經(jīng)過XML簽名的已加密請(qǐng)求信息的XML

2、數(shù)據(jù)包/網(wǎng)絡(luò)通信模塊接收到的XML數(shù)據(jù)包F:發(fā)向服務(wù)器的XML數(shù)據(jù)包/接收到的來自服務(wù)器的XML數(shù)據(jù)包黑色雙箭頭所表示的是J2ME特有的RMS數(shù)據(jù)庫的數(shù)據(jù)。數(shù)據(jù)庫訪問模塊負(fù)責(zé)調(diào)用J2ME的RMS數(shù)據(jù)庫的功能接口,對(duì)用戶界面模塊用的個(gè)性化設(shè)置,XML加密和簽名用的私匙和公匙對(duì),網(wǎng)絡(luò)通信模塊用的HTTP訪問地址和設(shè)置等等數(shù)據(jù)進(jìn)行存取,而其它模塊則通過訪問數(shù)據(jù)庫模塊存取所需數(shù)據(jù)。在客戶端系統(tǒng)的實(shí)現(xiàn)中,使用了一些第三方API庫:kXML和BouncyCastleAPI。其中kXML是XML組裝/解析的工具,而BouncyCastl

3、eAPI是J2ME應(yīng)用程序?qū)S玫腦ML加密/解密和簽名/驗(yàn)證的工具。客戶端部分的主要模塊實(shí)現(xiàn)如下:1)數(shù)據(jù)庫訪問模塊數(shù)據(jù)庫訪問模塊是所有其它模塊需要用到的模塊,這是因?yàn)樗颜麄€(gè)J2ME客戶端需要用到的程序配置和用戶設(shè)置存取到J2ME的數(shù)據(jù)庫中。在J2MEMIDP中定義了一個(gè)簡單的基于記錄的數(shù)據(jù)庫管理系統(tǒng)(RecordManagementSystem,RMS),在RMS中RecordStore等同于一般數(shù)據(jù)庫系統(tǒng)中的表(Table),它是記錄了一系列記錄的文件。數(shù)據(jù)庫訪問模塊對(duì)RMS進(jìn)行操作,并對(duì)外部模塊提供了兩個(gè)存取數(shù)據(jù)的

4、接口:按名稱保存數(shù)據(jù)到RMS的接口:publicvoidsetDataToRecordStore(Stringname,Stringdata)按名稱從RMS獲取數(shù)據(jù)的接口:publicStringgetDataFromRecordStore(Stringname)2)用戶界面模塊用戶界面模塊實(shí)現(xiàn)人機(jī)交互工能,接收用戶輸入,并把操作結(jié)果以友善的形式進(jìn)行輸出。除了使用J2ME提供的Display、Screen、Label、Command、Alert、Form、TextField等高級(jí)用戶界面控件外,還需要使用J2ME提供的Ca

5、nvas、Image等等低級(jí)用戶界面API,來實(shí)現(xiàn)動(dòng)畫等特效。3)XML加密/解密模塊這兩個(gè)模塊負(fù)責(zé)對(duì)服務(wù)器端傳來的用RSA算法公匙加密的共享密匙進(jìn)行解密,然后用共享密匙對(duì)機(jī)密信息使用TripleDES算法進(jìn)行加密。通過使用BouncyCastleAPI密碼術(shù)包,我們可以輕松地對(duì)所需要傳輸?shù)慕灰渍?qǐng)求里面的機(jī)密信息進(jìn)行XML加密和解密。它所提供的org.bouncycastle.crypto包有加密/解密中需要用到的絕大部分的類,另外org.bouncycastle.util包提供了包括Base64編碼轉(zhuǎn)換、Hex編碼轉(zhuǎn)換等

6、有用的工具類。在BouncyCastleAPI中,公匙、私匙和共享密匙都是對(duì)象,在試圖使用它們之前,必須要通過它們的主要參數(shù)重構(gòu)出這些密匙對(duì)象。RSA的公匙有Modulus和Exponent兩個(gè)主要參數(shù),RSA私匙除了這兩個(gè)參數(shù)外,還有privExp、dp、dq、p、q、qInv等幾個(gè)參數(shù),而TripleDES共享密匙只有單一的key參數(shù)。在傳遞這些密匙參數(shù)或加密的相關(guān)信息時(shí),由于XML加密的很多元素指定使用Base64編碼,因此還需要用到Base64這個(gè)工具類。我們定義了一個(gè)Encryptor類來處理所有加密/解密的相關(guān)

7、的問題。定義的接口如下:TripleDES加密接口:publicbyte[]encryptTripleDES(byte[]data)throwsCryptoExceptionRSA解密接口:publicsynchronizedbyte[]decryptRSA(byte[]data)throwsCryptoException4)XML簽名/驗(yàn)證模塊XML簽名過程中,首先生成原始數(shù)據(jù)的摘要,再對(duì)摘要進(jìn)行簽名。生成摘要的算法一般使用SHA1算法。BouncyCastleAPI包同樣提供了生成簽名用的摘要的SHA1Digest類,

8、以及用于數(shù)字簽名的RSAEngine、PSSSigner等類。我們定義Signature類封裝所有的處理簽名的功能代碼。定義的接口如下:生成摘要:privatebyte[]getDigest(Stringmesg)throwsException使用RSA私匙簽名:publicbyte[]RSASign(

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。