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

一種安全的雙向ssl認證方法和中間件的制作方法_2

文檔序號:8226047閱讀:來源:國知局
17。
[0043]步驟115,中間件將會話信息中的登錄狀態(tài)設(shè)置為已登錄,向應(yīng)用進程發(fā)送成功消息,并返回步驟101。
[0044]步驟116,中間件從令牌信息中獲取PIN碼重試次數(shù),向應(yīng)用進程輸出PIN碼重試次數(shù),向應(yīng)用進程發(fā)送失敗消息,并返回步驟101。
[0045]步驟117,中間件向應(yīng)用進程發(fā)送鎖死消息,并返回步驟101。
[0046]步驟118,中間件獲取會話句柄和簽名數(shù)據(jù),通過會話句柄獲取私鑰句柄和簽名機制,通過私鑰句柄獲取簽名密鑰,使用該簽名密鑰,按照獲取到的簽名機制,對獲取到的簽名數(shù)據(jù)進行簽名操作,得到簽名結(jié)果,向應(yīng)用進程輸出簽名結(jié)果,向應(yīng)用進程發(fā)送成功消息,并返回步驟101。
[0047]需要說明的是,當(dāng)中間件的C_OpenSess1n接口被應(yīng)用進程調(diào)用時,中間件通過會話句柄打開會話,向應(yīng)用進程發(fā)送成功消息,并返回步驟101。
[0048]當(dāng)中間件的C_FindObjectsInit接口被應(yīng)用進程調(diào)用時,中間件判斷進程信息是否為第一預(yù)設(shè)值;
[0049]如果不是第一預(yù)設(shè)值,中間件獲取會話句柄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息,并返回步驟101;
[0050]如果是第一預(yù)設(shè)值,中間件獲取會話信息中的登錄狀態(tài),判斷登錄狀態(tài)是否為已登錄,如果是,則獲取會話句柄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息,并返回步驟101 ;否則,彈出PIN碼輸入框,通過PIN碼輸入框獲取用戶輸入的PIN碼,將該PIN碼發(fā)送給硬件設(shè)備,接收硬件設(shè)備返回的驗證結(jié)果,對驗證結(jié)果進行判斷,如果是PIN碼正確,則將會話信息中的登錄狀態(tài)設(shè)置為已登錄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息,并返回步驟101 ;如果是PIN碼錯誤,則從令牌信息中獲取PIN碼重試次數(shù),向應(yīng)用進程輸出PIN碼重試次數(shù),向應(yīng)用進程發(fā)送失敗消息,并返回步驟101 ;如果是PIN碼鎖死,則向應(yīng)用進程發(fā)送鎖死消息。
[0051]當(dāng)中間件的C_FindObjects接口被應(yīng)用進程調(diào)用時,中間件獲取會話句柄,通過會話句柄獲取私鑰對象模板,通過私鑰對象模板查找私鑰對象,如果查找到,中間件獲取與查找到的私鑰對象對應(yīng)的私鑰句柄,將私鑰句柄的個數(shù)作為私鑰個數(shù)輸出給應(yīng)用進程,向應(yīng)用進程發(fā)送成功消息,并返回步驟101 ;否則,中間件將私鑰個數(shù)設(shè)置為零,向應(yīng)用進程輸出私鑰個數(shù),向應(yīng)用進程發(fā)送成功消息,并返回步驟101。
[0052]當(dāng)中間件的C_SignInit接口被應(yīng)用進程調(diào)用時,中間件判斷進程信息是否為第一預(yù)設(shè)值;
[0053]如果不是第一預(yù)設(shè)值,中間件獲取會話句柄、私鑰句柄和簽名機制,通過會話句柄記錄私鑰句柄和簽名機制,向應(yīng)用進程發(fā)送成功消息,并返回步驟101 ;
[0054]如果是第一預(yù)設(shè)值,中間件獲取會話信息中的登錄狀態(tài),判斷登錄狀態(tài)是否為已登錄,如果是,中間件獲取會話句柄、私鑰句柄和簽名機制,通過會話句柄記錄私鑰句柄和簽名機制,向應(yīng)用進程發(fā)送成功消息,并返回步驟101,其中,簽名機制包括簽名算法和摘要算法;否則,中間件彈出PIN碼輸入框,通過PIN碼輸入框獲取用戶輸入的PIN碼,將該PIN碼發(fā)送給硬件設(shè)備,接收硬件設(shè)備返回的驗證結(jié)果,對接收到的驗證結(jié)果進行判斷,如果是PIN碼正確,則將會話信息中的登錄狀態(tài)設(shè)置為已登錄,獲取會話句柄、私鑰句柄和簽名機制,通過會話句柄記錄私鑰句柄和簽名機制,向應(yīng)用進程發(fā)送成功消息,并返回步驟101 ;如果是PIN碼錯誤,則從令牌信息中獲取PIN碼重試次數(shù),向應(yīng)用進程輸出PIN碼重試次數(shù),向應(yīng)用進程發(fā)送失敗消息,并返回步驟101 ;如果是PIN碼鎖死,則向應(yīng)用進程發(fā)送鎖死消息,并返回步驟101。
[0055]本發(fā)明實施例通過修改中間件被預(yù)設(shè)進程調(diào)用時的接口處理邏輯,確保建立雙向SSL時彈出的PIN碼輸入框都由中間件控制,進而防止用戶在PIN碼輸入框中輸入的PIN碼被竊取,提高雙向SSL認證的安全性。
[0056]基于上述雙向SSL認證方法,本發(fā)明實施例還提供了一種中間件,如圖4所示,包括:
[0057]第一判斷模塊410,用于在C_GetTokenInfo接口被應(yīng)用進程調(diào)用時,判斷應(yīng)用進程是否為預(yù)設(shè)進程;
[0058]具體地,上述第一判斷模塊410,包括:
[0059]獲取子模塊,用于獲取應(yīng)用進程的進程名;
[0060]判斷子模塊,用于根據(jù)獲取子模塊獲取到的進程名,判斷應(yīng)用進程是否為預(yù)設(shè)進程。
[0061]本實施例中,上述獲取子模塊,具體用于通過調(diào)用GetModuleFileName函數(shù),獲取應(yīng)用進程的全路徑,從全路徑中獲取進程名。
[0062]第一處理模塊420,用于在第一判斷模塊410判斷出應(yīng)用進程為預(yù)設(shè)進程時,將令牌內(nèi)的標(biāo)識位的值修改為第二預(yù)設(shè)值,將令牌內(nèi)的標(biāo)識位的值輸出給應(yīng)用進程,向應(yīng)用進程發(fā)送成功消息;
[0063]第二處理模塊430,用于在第一判斷模塊410判斷出應(yīng)用進程不是預(yù)設(shè)進程時,獲取令牌內(nèi)的標(biāo)識位的值,向應(yīng)用進程輸出令牌內(nèi)的標(biāo)識位的值,向應(yīng)用進程發(fā)送成功消息;
[0064]第二判斷模塊440,用于在C_Login接口被應(yīng)用進程調(diào)用時,判斷應(yīng)用進程是否為預(yù)設(shè)進程;
[0065]第三處理模塊450,用于在第二判斷模塊440判斷出應(yīng)用進程為預(yù)設(shè)進程時,將第二預(yù)設(shè)值作為令牌內(nèi)的標(biāo)識位的值輸出給應(yīng)用進程,彈出PIN碼輸入框,通過PIN碼輸入框獲取用戶輸入的PIN碼,將PIN碼發(fā)送給硬件設(shè)備,接收硬件設(shè)備返回的驗證結(jié)果,對驗證結(jié)果進行判斷,如果是PIN碼正確,則將會話信息中的登錄狀態(tài)設(shè)置為已登錄,向應(yīng)用進程發(fā)送成功消息;如果是PIN碼錯誤,則向應(yīng)用進程發(fā)送失敗消息;
[0066]優(yōu)選地,上述第三處理模塊450,還用于在判斷出驗證結(jié)果為PIN碼錯誤后,從令牌信息中獲取PIN碼重試次數(shù),向應(yīng)用進程輸出PIN碼重試次數(shù);在判斷出驗證結(jié)果為PIN碼鎖死時,向應(yīng)用進程發(fā)送鎖死消息。
[0067]第四處理模塊460,用于在第二判斷模塊440判斷出應(yīng)用進程不是預(yù)設(shè)進程時,獲取用戶輸入的PIN碼,將PIN碼發(fā)送給硬件設(shè)備,接收硬件設(shè)備返回的驗證結(jié)果,對驗證結(jié)果進行判斷,如果是PIN碼正確,則將會話信息中的登錄狀態(tài)設(shè)置為已登錄,向應(yīng)用進程發(fā)送成功消息;如果是PIN碼錯誤,則向應(yīng)用進程發(fā)送失敗消息。
[0068]進一步地,上述中間件,還包括:
[0069]設(shè)置模塊,用于在第一判斷模塊410判斷出應(yīng)用進程為預(yù)設(shè)進程之后,將進程信息設(shè)置為第一預(yù)設(shè)值;
[0070]相應(yīng)地,上述第二判斷模塊440,具體用于判斷進程信息是否為第一預(yù)設(shè)值,如果是,則確定應(yīng)用進程為預(yù)設(shè)進程;否則,確定應(yīng)用進程不是預(yù)設(shè)進程。
[0071]進一步地,上述中間件,還包括:
[0072]第五處理模塊,用于在(:_31811接口被應(yīng)用進程調(diào)用時,獲取會話句柄和簽名數(shù)據(jù),通過會話句柄獲取私鑰句柄和簽名機制,通過私鑰句柄獲取簽名密鑰,使用簽名密鑰,按照簽名機制,對簽名數(shù)據(jù)進行簽名操作,得到簽名結(jié)果,向應(yīng)用進程輸出簽名結(jié)果,向應(yīng)用進程發(fā)送成功消息。
[0073]第六處理模塊,用于在C_OpenSess1n接口被應(yīng)用進程調(diào)用時,通過會話句柄打開會話,向應(yīng)用進程發(fā)送成功消息。
[0074]第七處理模塊,用于在C_FindObjectsInit接口被應(yīng)用進程調(diào)用時,判斷應(yīng)用進程是否為預(yù)設(shè)進程,如果不是預(yù)設(shè)進程,則獲取會話句柄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息;
[0075]如果是預(yù)設(shè)進程,則獲取會話信息中的登錄狀態(tài),判斷登錄狀態(tài)是否為已登錄,如果是,則獲取會話句柄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息;否則,彈出PIN碼輸入框,通過PIN碼輸入框獲取用戶輸入的PIN碼,將PIN碼發(fā)送給硬件設(shè)備,接收硬件設(shè)備返回的驗證結(jié)果,對驗證結(jié)果進行判斷,如果是PIN碼正確,則將會話信息中的登錄狀態(tài)設(shè)置為已登錄,通過會話句柄對私鑰對象模板進行初始化,通過會話句柄記錄私有對象模板,向應(yīng)用進程發(fā)送成功消息;如果是PIN碼錯誤,則向應(yīng)用進程發(fā)送失敗消息。
[0076]優(yōu)選地,上述第七處理模塊,還用于在判斷出驗證結(jié)果為PIN碼錯誤后,從令牌信息中獲取PIN碼重試次數(shù),向應(yīng)用進程輸出PIN碼重試次數(shù);在判斷出驗證結(jié)果為PIN碼鎖死時,向應(yīng)用進程發(fā)送鎖死消息。
[00
當(dāng)前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乳山市| 岱山县| 进贤县| 汉阴县| 临汾市| 蕉岭县| 利辛县| 全州县| 定南县| 扎囊县| 彩票| 商都县| 乌苏市| 赫章县| 乐安县| 霍林郭勒市| 七台河市| 宿州市| 察隅县| 永修县| 溧阳市| 新兴县| 怀集县| 西乡县| 七台河市| 工布江达县| 丰台区| 望谟县| 灵武市| 铁岭市| 定远县| 沭阳县| 柘荣县| 兴文县| 电白县| 称多县| 宁南县| 呼和浩特市| 峨眉山市| 高清| 武安市|