欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種客戶端和UI交互方法與流程

文檔序號(hào):12467627閱讀:321來源:國知局
一種客戶端和UI交互方法與流程
本發(fā)明涉及USBkey
技術(shù)領(lǐng)域
,具體涉及一種客戶端和UI交互方法。
背景技術(shù)
:USBKey是一種以USB為接口標(biāo)準(zhǔn)的硬件設(shè)備,它內(nèi)置單片機(jī)或智能卡芯片,具備密碼運(yùn)算功能,有一定容量的私密存儲(chǔ)空間,可以存儲(chǔ)用戶的私鑰以及數(shù)字證書,利用USBKey內(nèi)置的公鑰算法實(shí)現(xiàn)對(duì)用戶身份的認(rèn)證,由于用戶私鑰保存在密碼鎖中,理論上使用任何方式都無法讀取,因此保證了用戶認(rèn)證的安全性。隨著互聯(lián)網(wǎng)和電子商務(wù)的發(fā)展,USBKey作為網(wǎng)絡(luò)用戶身份識(shí)別和數(shù)據(jù)保護(hù)的“電子鑰匙”,正在被越來越多的用戶所認(rèn)識(shí)和使用。USBkey與上位機(jī)(客戶端)連接進(jìn)行UI數(shù)據(jù)交互的過程中,需要在上位機(jī)中安裝USBKey中間件,上位機(jī)中的上層安全應(yīng)用(應(yīng)用層)通過調(diào)用USBKey中間件,USBkey中間件通過USB驅(qū)動(dòng)與USBKey主芯片進(jìn)行APDU指令交互。但在實(shí)際應(yīng)用中,對(duì)于某一操作系統(tǒng),一般會(huì)有多個(gè)發(fā)行版分支,如對(duì)于Linux操作系統(tǒng),就有Ubuntu、Fedora、Debian等多個(gè)發(fā)行版分支,不同的Linux發(fā)行版中搭載的桌面環(huán)境、窗口管理器、圖形應(yīng)用程序框架(下文中簡稱為UI框架)等都不盡相同。即使是相同的Linux發(fā)行版,USBKey產(chǎn)品的終端用戶所使用的系統(tǒng)環(huán)境配置通常也各有差異。在UI應(yīng)用程序開發(fā)階段,不同的UI框架意味著不同的UI設(shè)計(jì)概念、不同的UI調(diào)用接口約定、不同的數(shù)據(jù)結(jié)構(gòu)定義、不同的編譯依賴環(huán)境。因此,要實(shí)現(xiàn)針對(duì)不同的系統(tǒng)UI框架部署USBKey中間件,通常意味著需要分別開發(fā)多款軟件產(chǎn)品。在不改變用戶系統(tǒng)環(huán)境配置的前提下,如何使包含UI交互功能的USBKey中間件運(yùn)行在更多不同版本的系統(tǒng)中,一直是個(gè)難題。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種客戶端和UI交互方法,實(shí)現(xiàn)具有UI交互功能的USBkey中間件多種不同的UI框架運(yùn)行環(huán)境下的正常運(yùn)行。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:一種客戶端,所述客戶端中安裝有USBkey中間件,所述USBkey中間件包括UI組件和非UI組件,所述UI組件是指USBkey中間件中所有涉及到UI交互功能的部分;所述UI組件包括若干個(gè)針對(duì)不同UI框架運(yùn)行環(huán)境實(shí)現(xiàn)的UI模塊;USBkey中間件根據(jù)其所在客戶端的UI框架運(yùn)行環(huán)境啟用相應(yīng)的UI模塊;所述USBkey中間件還包括:UI通信接口UI_API:用于非UI組件與UI組件之間采用進(jìn)程通信方式進(jìn)行通信。進(jìn)一步,如上所述的一種客戶端,所述USBkey中間件還包括:UI接口庫,用于封裝存儲(chǔ)UI調(diào)用原語;所述UI調(diào)用原語為根據(jù)USBkey中間件所涉及的UI交互場景確定的、非UI組件和UI組件之間約定的、與操作系統(tǒng)平臺(tái)無關(guān)的原語;所述非UI組件與UI組件之間采用所述UI調(diào)用原語進(jìn)行通信。進(jìn)一步,如上所述的一種客戶端,所述UI框架運(yùn)行環(huán)境包括Linux操作系統(tǒng)下的Java運(yùn)行環(huán)境、Qt運(yùn)行環(huán)境和GTK運(yùn)行環(huán)境。進(jìn)一步,如上所述的一種客戶端,所述USBkey中間件還包括:UI組件管理接口,用于對(duì)USBkey中間件的UI組件進(jìn)行管理;所述管理包括對(duì)UI模塊的增加、修改或刪除。本發(fā)明實(shí)施例中還提供了基于所述客戶端的一種UI交互方法,包括以下步驟:USBkey中間件根據(jù)其運(yùn)行所在的客戶端的UI框架運(yùn)行環(huán)境,確定并啟用其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊;USBkey中間件的非UI組件通過進(jìn)程間通信方式向所啟用的UI模塊發(fā)送UI請(qǐng)求信息,UI模塊根據(jù)接收到的UI請(qǐng)求信息調(diào)用客戶端的UI接口完成相應(yīng)的UI交互動(dòng)作。進(jìn)一步,如上所述的一種UI交互方法,非UI組件采用UI調(diào)用原語向UI模塊發(fā)送UI請(qǐng)求信息;所述調(diào)用原語為根據(jù)USBkey中間件所涉及的UI交互場景確定的、非UI組件和UI組件之間約定的、與操作系統(tǒng)平臺(tái)無關(guān)的原語。進(jìn)一步,如上所述的一種UI交互方法,所述UI交互場景包括用戶密碼獲取和驗(yàn)證、提示用戶按鍵、提供用戶選擇列表供用戶選擇。進(jìn)一步,如上所述的一種UI交互方法,所述UI調(diào)用原語包括UI會(huì)話開始原語BeginSession、UI會(huì)話結(jié)束原語EndSession、密碼輸入對(duì)話框顯示原語PIN_Show、用戶密碼獲取原語PIN_GetPIN、密碼錯(cuò)誤提示及重新輸入原語PIN_Retry、密碼輸入框關(guān)閉原語PIN_Finish、等待對(duì)話框顯示原語Waiting_Show、等待對(duì)話框關(guān)閉原語Waiting_Finish、列表選擇框顯示原語List_Show、以及用戶選擇項(xiàng)獲取及對(duì)話框關(guān)閉原語List_GetSel。進(jìn)一步,如上所述的一種UI交互方法,USBkey中間件根據(jù)客戶端的UI框架運(yùn)行環(huán)境,確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊,包括:非UI組件依次向若干個(gè)UI模塊發(fā)送UI會(huì)話開始原語,將在設(shè)定時(shí)間內(nèi)接收到響應(yīng)數(shù)據(jù)的UI模塊,確定為與UI框架運(yùn)行環(huán)境相對(duì)應(yīng)的UI模塊。進(jìn)一步,如上所述的一種UI交互方法,USBkey中間件根據(jù)客戶端的UI框架運(yùn)行環(huán)境,確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI組件,包括:USBkey中間件向客戶端發(fā)送獲取UI框架運(yùn)行環(huán)境的請(qǐng)求信息;USBkey中間件根據(jù)客戶端返回的UI框架運(yùn)行環(huán)境信息確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊。本發(fā)明的有益效果在于:本發(fā)明所提供的客戶端和UI交互方法,通過將具有UI交互功能的USBkey中間件中的UI模塊剝離出來,并設(shè)置了適用于不同UI框架運(yùn)行環(huán)境的UI組件,使USBkey中間件能夠適用于不同的UI框架運(yùn)行環(huán)境下,解決了因UI框架不同帶來的USBkey中間件的部署難題。附圖說明圖1為本發(fā)明具體實(shí)施方式中一種客戶端的結(jié)構(gòu)示意圖;圖2為本發(fā)明具體實(shí)施方式中非UI組件與UI組件通信的示意圖;圖3為本發(fā)明具體實(shí)施方式中一種UI交互方法的流程示意圖;圖4為本發(fā)明具體實(shí)施方式中各UI調(diào)用原語之間的狀態(tài)機(jī)轉(zhuǎn)換示意圖。具體實(shí)施方式下面結(jié)合說明書附圖與具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。圖1示出了本發(fā)明具體實(shí)施方式中一種客戶端的結(jié)構(gòu)示意圖,由圖中可以看出,該客戶端中安裝有USBkey中間件,所述USBkey中間件包括UI組件10和非UI組件20,所述UI組件10是指USBkey中間件中所有涉及到UI交互功能的部分;所述UI組件10包括若干個(gè)針對(duì)不同UI框架運(yùn)行環(huán)境實(shí)現(xiàn)的UI模塊11;USBkey中間件根據(jù)其所在客戶端的UI框架運(yùn)行環(huán)境啟用相應(yīng)的UI模塊;為了實(shí)現(xiàn)UI組件10和非UI之間的數(shù)據(jù)交互,所述USBkey中間件還包括UI通信接口UI_API30,非UI組件20與UI組件10之間通過該通信接口采用進(jìn)程通信方式進(jìn)行通信。本實(shí)施方式中,所述的客戶端是可與USBkey進(jìn)行通信連接,并能夠通過網(wǎng)絡(luò)等方式與USBkey簽名驗(yàn)證服務(wù)器連接并進(jìn)行數(shù)據(jù)交互的設(shè)備,包括但不限于PC等。所述USBkey中間件是USBkey設(shè)備提供商提供,USBkey中間件最初是存儲(chǔ)于USBkey中的,在USBkey與客戶端首次連接時(shí),會(huì)將USBkey中間件安裝于客戶端中,是用于操作USBkey的軟件。USBKey中間件實(shí)現(xiàn)了一組公共接口,提供依賴于USBKey的密碼學(xué)功能服務(wù),如加密解密、簽名驗(yàn)簽、管理密鑰和容器、管理證書等。USBKey中間件通過USB驅(qū)動(dòng)與USBKey主芯片進(jìn)行APDU指令交互,上層的安全應(yīng)用只需要調(diào)用中間件提供的接口即可實(shí)現(xiàn)密碼學(xué)應(yīng)用。本實(shí)施方式中所提供的客戶端,將其所安裝的USBkey中間件中的所有涉及UI(UserInterface)交互功能的UI組件10分離出來,并針對(duì)不同的UI框架運(yùn)行環(huán)境分別設(shè)置了若干個(gè)適用于不同UI框架運(yùn)行環(huán)境的UI模塊11,從而使得USBkey中間件能夠運(yùn)行在更多的UI框架運(yùn)行環(huán)境中,即使用戶的客戶端的UI框架運(yùn)行環(huán)境發(fā)生變化,也能夠選擇對(duì)應(yīng)的UI模塊實(shí)現(xiàn)正常的UI交互,而無需針對(duì)不同的UI框架運(yùn)行環(huán)境單獨(dú)開發(fā)不同的USBkey中間件產(chǎn)品。此外,通過將UI組件10和非UI組件20分離,如果需要USBkey中間件支持新的UI框架運(yùn)行環(huán)境(USBkey中間件沒有對(duì)應(yīng)的UI模塊時(shí))或?qū)χ虚g件中涉及UI交互功能的部分進(jìn)行修改時(shí),只需要開發(fā)新的UI模塊或?qū)I模塊進(jìn)行修改即可,而無需對(duì)USBkey中間件的非UI組件進(jìn)行改動(dòng),大大降低了工作量,提高了更新效率。本實(shí)施方式中,所述UI框架運(yùn)行環(huán)境包括但不限于Linux操作系統(tǒng)下的Java運(yùn)行環(huán)境、Qt運(yùn)行環(huán)境和GTK運(yùn)行環(huán)境等,相應(yīng)的,所述UI組件包括了基于Java、Qt、GTK實(shí)現(xiàn)的UI模塊,即分別對(duì)應(yīng)于三種UI框架分別編寫三種對(duì)應(yīng)的用于實(shí)現(xiàn)UI交互功能的UI模塊。在實(shí)際應(yīng)用中,USBkey中間件由上層安全應(yīng)用調(diào)用,本實(shí)施方式中,USB中間件中除上述UI組件10外,其它部分(包括所述非UI部分和UI通信接口UI_API)都運(yùn)行在上層安全應(yīng)用軟件開始的進(jìn)程中,UI組件是基于不同UI框架開發(fā)的UI應(yīng)用程序,具有獨(dú)立的進(jìn)程,因此,USBkey中間件的非UI組件與UI組件10的UI模塊11之間可以采用進(jìn)程間通信方式進(jìn)行數(shù)據(jù)交互。本實(shí)施方式中,所述USBkey中間件還包括UI組件通信接口UI_API,如圖2所示,USBkey中間件的非UI組件所在的應(yīng)用進(jìn)程通過UI_API接口與UI模塊所在的UI應(yīng)用程序進(jìn)程(UI進(jìn)程)進(jìn)行通訊,圖中,UI_Server與UI_Resource分別表示UI進(jìn)程所對(duì)應(yīng)UI服務(wù)器和服務(wù)器所需的資源。本實(shí)施方式中,為了提高非UI組件20與UI模塊11之間的數(shù)據(jù)傳輸效率,所述USBkey中間件還包括UI接口庫,UI接口庫用于封裝存儲(chǔ)UI調(diào)用原語,所述UI調(diào)用原語為根據(jù)USBkey中間件所涉及的UI交互場景確定的、非UI組件和UI組件之間約定的、與操作系統(tǒng)平臺(tái)無關(guān)的原語。非UI組件20與UI組件10之間通過所述UI通信接口UI_API30調(diào)用UI接口庫中的UI調(diào)用原語實(shí)現(xiàn)數(shù)據(jù)交互,實(shí)現(xiàn)了USBkey中間件的非UI組件通過平臺(tái)無關(guān)的UI調(diào)用原語與UI組件的UI模塊通過進(jìn)程間通訊實(shí)現(xiàn)UI交互操作,使USBkey中間件能夠運(yùn)行在多種不同UI框架的操作系統(tǒng)下。為實(shí)現(xiàn)對(duì)UI組件10中UI模塊11的管理,本發(fā)明的一個(gè)實(shí)施例中,所述USBkey中間件還包括UI組件管理接口40。所述UI組件單元管理接口40,用于對(duì)USBkey中間件的UI組件進(jìn)行管理;所述管理包括對(duì)UI模塊的增加、修改或刪除等?;趫D1中所示的客戶端,本實(shí)施方式中還提供了一種UI交互方法,如圖3所示,該方法主要包括以下步驟:步驟S1:USBkey中間件根據(jù)其運(yùn)行所在的客戶端的UI框架運(yùn)行環(huán)境,確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊;步驟S2:USBkey中間件的非UI組件采用進(jìn)程間通信方式向所啟用的UI模塊發(fā)送UI請(qǐng)求信息,UI模塊根據(jù)接收到的UI請(qǐng)求信息調(diào)用客戶端的UI接口完成相應(yīng)的UI交互動(dòng)作。本實(shí)施方式中,所述非UI組件采用相應(yīng)的UI調(diào)用原語向UI模塊發(fā)送UI請(qǐng)求信息,其中,UI調(diào)用原語為根據(jù)USBkey中間件所涉及的UI交互場景確定的、USBey中間件的非UI組件和UI組件之間約定的、與操作系統(tǒng)平臺(tái)無關(guān)的UI調(diào)用原語。所述UI交互場景是指USBkey中間件在處理USBkey業(yè)務(wù)流程時(shí),所涉及的與用戶界面顯示有關(guān)的應(yīng)用場景,包括用戶密碼獲取和驗(yàn)證、提示用戶按鍵、以及提供用戶選擇列表供用戶選擇等。所述UI調(diào)用原語只描述一種抽象的UI展示或交互行為,與客戶端的系統(tǒng)UI框架所提供的UI功能無關(guān),由USBkey中間件的非UI組件與UI組件相互約定,UI調(diào)用原語封裝于USBkey中間件中的UI接口庫中,非UI組件所在的上層安全應(yīng)用進(jìn)程根據(jù)需要通過調(diào)用UI接口庫中對(duì)應(yīng)含義的UI調(diào)用原語,向UI組件的某一UI模塊所在的進(jìn)程完成UI請(qǐng)求信息的發(fā)送。本實(shí)施方式中,所述UI調(diào)用原語及各原語的功能如下表所示。UI調(diào)用原語功能BeginSession開始一個(gè)UI會(huì)話EndSession結(jié)束一個(gè)UI會(huì)話PIN_Show顯示密碼輸入對(duì)話框PIN_GetPIN獲取用戶輸入的密碼PIN_Retry提示用戶密碼錯(cuò)誤,重新輸入PIN_Finish關(guān)閉密碼輸入對(duì)話框Waiting_Show顯示等待對(duì)話框Waiting_Finish關(guān)閉等待對(duì)話框List_Show顯示列表選擇框List_GetSel獲取用戶選擇項(xiàng),關(guān)閉對(duì)話框由上表可以看出,所述調(diào)用原語包括但不限于UI會(huì)話開始原語BeginSession、UI會(huì)話結(jié)束原語EndSession、密碼輸入對(duì)話框顯示原語PIN_Show、用戶密碼獲取原語PIN_GetPIN、密碼錯(cuò)誤提示及重新輸入原語PIN_Retry、密碼輸入框關(guān)閉原語PIN_Finish、等待對(duì)話框顯示原語Waiting_Show、等待對(duì)話框關(guān)閉原語Waiting_Finish、列表選擇框顯示原語List_Show、以及用戶選擇項(xiàng)獲取及對(duì)話框關(guān)閉原語List_GetSel。當(dāng)然,也可以根據(jù)實(shí)際需要采用其它調(diào)用原語。本實(shí)施方式中,上述各調(diào)用原語之間的狀態(tài)機(jī)轉(zhuǎn)換如圖4所示。本發(fā)明的一個(gè)實(shí)施例中,USBkey中間件根據(jù)客戶端的UI框架運(yùn)行環(huán)境,確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊的一種方式為:USBkey中間件的非UI組件依次向UI組件的其若干個(gè)UI模塊發(fā)送UI會(huì)話開始原語,將在設(shè)定時(shí)間內(nèi)接收到響應(yīng)數(shù)據(jù)的UI模塊,確定為與UI框架運(yùn)行環(huán)境相對(duì)應(yīng)的UI模塊。USBkey中間件的非UI組件調(diào)用UI接口庫中的BeginSession原語時(shí)(向UI組件的UI模塊通過進(jìn)程間通訊方式發(fā)送UI會(huì)話開始原語),依次向各個(gè)UI模塊分別發(fā)送該原語,嘗試建立兩者之間的連接,如果向某一UI模塊發(fā)送該原語后,在設(shè)定時(shí)間內(nèi)接收到了應(yīng)答數(shù)據(jù),則確定該有應(yīng)答的UI模塊即為與USBkey中間件運(yùn)行所在的UI框架運(yùn)行環(huán)境相匹配,則啟用該UI模塊以完成后續(xù)的UI交互流程。在實(shí)際應(yīng)用中,USBkey會(huì)先嘗試連接已運(yùn)行的UI模塊(當(dāng)前的前一次運(yùn)行的UI模塊),如果連接未被響應(yīng),則會(huì)再向其它UI模塊依次發(fā)送UI會(huì)話開始原語,直到該連接請(qǐng)求被某一UI模塊響應(yīng),如果所有UI模塊均未響應(yīng),則提示UI模塊啟動(dòng)失敗。本發(fā)明的另一個(gè)實(shí)施例中,USBkey中間件根據(jù)客戶端的UI框架運(yùn)行環(huán)境,確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊的方式為:USBkey中間件向客戶端發(fā)送獲取UI框架運(yùn)行環(huán)境的請(qǐng)求信息;USBkey中間件根據(jù)客戶端返回的UI框架運(yùn)行環(huán)境信息確定并運(yùn)行其與所述UI框架運(yùn)行環(huán)境相應(yīng)的UI模塊。本實(shí)施方式中所提供的客戶端和UI交互方法,USBkey中間件通過與平臺(tái)無關(guān)的UI調(diào)用原語與UI組件之間發(fā)起UI交互,USBkey中間件通過進(jìn)程間通訊實(shí)現(xiàn)了與異構(gòu)的UI組件的相互操作,提高了USBkey中間件在多種UI框架運(yùn)行環(huán)境的通用性,降低了USBkey中間件更新時(shí)的工作量,提高了更新效率。其中,所述異構(gòu),是指USBkey的UI組件與非UI組件之間可以是分別基于不同的編程語言、不同的架構(gòu)來開發(fā)的軟件模塊。下面結(jié)合實(shí)際的UI交互場景對(duì)本發(fā)明進(jìn)行進(jìn)一步的描述。本實(shí)施例中客戶端以PC為例進(jìn)行說明,UI交互場景為網(wǎng)上支付中的用戶密碼獲取及驗(yàn)證場景,流程如下:USBkey與PC連接,連接方式包括但不限于USB連接或藍(lán)牙連接等。PC上的網(wǎng)上支付應(yīng)用(上層安全應(yīng)用)調(diào)用USBkey中間件,USBkey中間件的非UI組件采用進(jìn)程間通信方式向其UI組件的各UI模塊依次發(fā)送UI會(huì)話開始原語,并將返回響應(yīng)數(shù)據(jù)的UI模塊確定為與客戶端的UI框架運(yùn)行環(huán)境相對(duì)應(yīng)的UI模塊,啟用該UI模塊,并通過進(jìn)程間通訊方式向其發(fā)送密碼輸入對(duì)話框顯示原語的數(shù)據(jù),UI模塊接收到非UI組件發(fā)送的該數(shù)據(jù)后,調(diào)用PC操作系統(tǒng)的UI框架的圖形接口,在PC機(jī)的用戶界面彈出密碼輸入框,在用戶輸入密碼后,UI模塊提取密碼內(nèi)容并通過進(jìn)程間通訊方式將該內(nèi)容發(fā)送到非UI組件,由非UI組件完成USBkey的密碼驗(yàn)證,如果密碼正確,USBkey向中間件返回密碼驗(yàn)證通過信息,非UI組件向UI模塊發(fā)送密碼輸入框關(guān)閉原語,完成密碼輸入框的關(guān)閉,密碼獲取及驗(yàn)證完成,如果密碼錯(cuò)誤,非UI組件則向UI模塊發(fā)送密碼錯(cuò)誤提示及重新輸入原語,則繼續(xù)顯示密碼輸入框,提示用戶重新輸入密碼。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
娄烦县| 梁平县| 灵璧县| 清远市| 夹江县| 镇原县| 浦北县| 祁门县| 清河县| 娄烦县| 青铜峡市| 南昌县| 阿坝县| 剑阁县| 册亨县| 宁化县| 清徐县| 醴陵市| 沂源县| 拜泉县| 陇南市| 安福县| 会理县| 静海县| 长沙县| 连云港市| SHOW| 饶阳县| 高陵县| 渭源县| 肇东市| 若尔盖县| 平原县| 许昌市| 沙湾县| 睢宁县| 繁峙县| 梅河口市| 澄迈县| 合江县| 西峡县|