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

一種使用指紋key進(jìn)行登錄的方法及裝置與流程

文檔序號(hào):11215476閱讀:1255來(lái)源:國(guó)知局
一種使用指紋key進(jìn)行登錄的方法及裝置與流程

本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種使用指紋key進(jìn)行登錄的方法及裝置。



背景技術(shù):

目前,應(yīng)用程序調(diào)用window函數(shù)使用usbkey時(shí),會(huì)彈出pin碼輸入框,提示用戶輸入pin碼進(jìn)行驗(yàn)證,pin碼驗(yàn)證通過(guò)后,應(yīng)用才能使用usbkey里保存的數(shù)據(jù),進(jìn)行簽名、加解密、生成密鑰、導(dǎo)入證書等操作。

在現(xiàn)有技術(shù)中,指紋key與普通usbkey相比,操作更安全,但是指紋key不能通過(guò)pin碼進(jìn)行驗(yàn)證使用,只能通過(guò)指紋進(jìn)行驗(yàn)證使用,目前的window函數(shù)不支持指紋驗(yàn)證,導(dǎo)致指紋key不能使用。因此,如何使window函數(shù)支持使用指紋key,是亟待解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種使用指紋key進(jìn)行登錄的方法及裝置。

本發(fā)明提供了一種使用指紋key進(jìn)行登錄的方法,包括:

當(dāng)?shù)诙瘮?shù)被調(diào)用時(shí),裝置獲取登錄驗(yàn)證方式,并將所述登錄驗(yàn)證方式返回給操作系統(tǒng);

當(dāng)?shù)谌瘮?shù)被調(diào)用時(shí),所述裝置獲取所述第三函數(shù)參數(shù)中的登錄驗(yàn)證方式,并判斷所述登錄驗(yàn)證方式是否為外部驗(yàn)證方式,是則所述裝置獲取所述第三函數(shù)參數(shù)中的登錄界面窗口句柄并保存,所述第三函數(shù)返回成功信息,否則所述第三函數(shù)返回錯(cuò)誤信息;

當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),所述裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如驗(yàn)證通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),如驗(yàn)證未通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò);

當(dāng)?shù)谖搴瘮?shù)被調(diào)用時(shí),所述裝置將待簽名數(shù)據(jù)發(fā)送給所述指紋key,所述指紋key檢查自身當(dāng)前狀態(tài)是否為指紋驗(yàn)證已通過(guò),是則使用所述第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法,使用所述簽名私鑰根據(jù)所述簽名算法對(duì)所述待簽名數(shù)據(jù)進(jìn)行運(yùn)算生成登錄操作系統(tǒng)所需的憑據(jù)信息,所述第五函數(shù)將所述憑據(jù)信息返回給所述操作系統(tǒng),否則結(jié)束操作。

進(jìn)一步地,當(dāng)所述第二函數(shù)被調(diào)用之前,還包括:

當(dāng)所述操作系統(tǒng)接收到登錄觸發(fā)信息時(shí),提示用戶插入指紋key;如所述操作系統(tǒng)檢測(cè)到指紋key插入時(shí),獲取所述指紋key中的所有用戶證書并顯示,提示用戶選擇進(jìn)行登錄所使用的證書,當(dāng)所述操作系統(tǒng)接收到用戶選擇的進(jìn)行登錄所使用的證書時(shí)調(diào)用第一函數(shù);

當(dāng)所述第一函數(shù)被調(diào)用時(shí),所述裝置將函數(shù)地址列表返回給所述操作系統(tǒng),所述操作系統(tǒng)分別根據(jù)所述函數(shù)地址列表中的第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址和第五函數(shù)地址調(diào)用所述第二函數(shù)、所述第三函數(shù)、所述第四函數(shù)和所述第五函數(shù)。

進(jìn)一步地,所述裝置獲取登錄驗(yàn)證方式具體為:所述裝置將所述第二函數(shù)參數(shù)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值。

進(jìn)一步地,當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),所述裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在所述指紋key上輸入指紋進(jìn)行驗(yàn)證,如驗(yàn)證通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),如驗(yàn)證未通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),具體包括:

步驟a1:當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),所述裝置判斷是否需要生成會(huì)話pin碼,是則執(zhí)行步驟a6,否則執(zhí)行步驟a2;

步驟a2:所述裝置判斷是否需要使用會(huì)話pin碼進(jìn)行登錄,是則執(zhí)行步驟a3,否則所述第四函數(shù)返回錯(cuò)誤信息;

步驟a3:所述裝置判斷是否保存有合法的會(huì)話pin碼,是則執(zhí)行步驟a4,否則所述第四函數(shù)返回錯(cuò)誤信息;

步驟a4:所述裝置判斷所述指紋key是否登錄有效,是則執(zhí)行步驟a5,否則所述第四函數(shù)返回錯(cuò)誤信息;

步驟a5:所述裝置設(shè)置指紋key的登錄狀態(tài)為已登錄,所述第四函數(shù)返回成功信息;

步驟a6:所述裝置判斷生成pin碼的條件是否合法,是則執(zhí)行步驟a7,否則所述第四函數(shù)返回錯(cuò)誤信息;

步驟a7:所述裝置判斷所述指紋key的登錄狀態(tài)是否為已登錄,是則執(zhí)行步驟a10,否則執(zhí)行步驟a8;

步驟a8:所述裝置根據(jù)保存的所述登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在所述指紋key上輸入指紋進(jìn)行驗(yàn)證,如所述指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給所述裝置返回驗(yàn)證成功信息,如所述指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給所述裝置返回驗(yàn)證失敗信息;

步驟a9:所述裝置根據(jù)接收到的所述指紋key返回的信息判斷所述指紋key是否驗(yàn)證成功,是則設(shè)置指紋key的登錄狀態(tài)為已登錄,執(zhí)行步驟a10,否則所述第四函數(shù)返回錯(cuò)誤信息;

步驟a10:所述裝置生成會(huì)話pin碼并保存,且保存登錄時(shí)間,所述第四函數(shù)返回成功信息。

進(jìn)一步地,所述步驟a1中的所述裝置判斷是否需要生成會(huì)話pin碼包括:所述裝置判斷所述第四函數(shù)參數(shù)中的pin碼標(biāo)志中的驗(yàn)證標(biāo)識(shí)是否置位,是則需要生成會(huì)話pin碼,否則不需要生成會(huì)話pin碼。

進(jìn)一步地,所述步驟a2包括:所述裝置判斷所述第四函數(shù)參數(shù)中的pin碼標(biāo)志中的登錄標(biāo)識(shí)是否置位,是則執(zhí)行步驟a3,否則所述第四函數(shù)返回錯(cuò)誤信息。

進(jìn)一步地,所述步驟a3包括:所述裝置判斷所述第四函數(shù)的參數(shù)中是否有會(huì)話pin碼且所述參數(shù)中的會(huì)話pin碼長(zhǎng)度是否等于預(yù)設(shè)長(zhǎng)度,是則執(zhí)行步驟a4,否則所述第四函數(shù)返回錯(cuò)誤信息。

進(jìn)一步地,所述步驟a4包括:所述裝置判斷當(dāng)前時(shí)間減去保存的登錄時(shí)間是否小于預(yù)設(shè)值,是則執(zhí)行步驟a5,否則第四函數(shù)返回錯(cuò)誤信息。

進(jìn)一步地,所述步驟a5包括:所述裝置將登錄標(biāo)識(shí)置位并保存,所述第四函數(shù)返回成功信息。

進(jìn)一步地,所述步驟a6包括:所述裝置判斷所述第四函數(shù)的參數(shù)中的會(huì)話pin碼和會(huì)話pin碼長(zhǎng)度是否均為空,是則所述第四函數(shù)返回錯(cuò)誤信息,否則執(zhí)行步驟a7。

進(jìn)一步地,所述步驟a7包括:所述裝置判斷保存的登錄標(biāo)識(shí)是否置位,是則執(zhí)行步驟a10,否則執(zhí)行步驟a8。

進(jìn)一步地,所述步驟a8包括:所述裝置根據(jù)保存的所述登錄界面窗口句柄彈出指紋驗(yàn)證提示框,并給所述指紋key發(fā)送指紋驗(yàn)證指令,當(dāng)所述指紋key接收到用戶輸入的指紋時(shí),判斷接收到的指紋是否與內(nèi)部保存的指紋一致,是則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給所述裝置返回驗(yàn)證成功信息,否則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給所述裝置返回驗(yàn)證失敗信息。

進(jìn)一步地,所述步驟a9包括:所述裝置根據(jù)接收到的所述指紋key返回的信息判斷所述指紋key是否驗(yàn)證成功,如接收到的信息為驗(yàn)證成功信息則所述指紋key驗(yàn)證成功,將所述登錄標(biāo)識(shí)置位,執(zhí)行步驟a10,如接收到的信息為驗(yàn)證失敗信息則所述第四函數(shù)返回錯(cuò)誤信息。

進(jìn)一步地,所述步驟a10包括:所述裝置根據(jù)所述第四函數(shù)參數(shù)中的函數(shù)指針獲取生成函數(shù),通過(guò)所述生成函數(shù)生成對(duì)應(yīng)的會(huì)話pin碼,保存所述會(huì)話pin碼和登錄時(shí)間,所述第四函數(shù)返回成功信息。

進(jìn)一步地,所述指紋key使用所述第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法包括:所述指紋key分別根據(jù)所述第五函數(shù)的參數(shù)中的容器索引和簽名算法標(biāo)識(shí)獲取對(duì)應(yīng)容器中的簽名私鑰和簽名算法。

進(jìn)一步地,所述方法還包括:當(dāng)所述操作系統(tǒng)接收到所述憑據(jù)信息后,使用用戶選擇的證書對(duì)所述憑據(jù)信息進(jìn)行驗(yàn)證,如驗(yàn)證成功則允許登錄,如驗(yàn)證失敗則拒絕登錄。

進(jìn)一步地,所述使用用戶選擇的證書對(duì)所述憑據(jù)信息進(jìn)行驗(yàn)證包括:所述操作系統(tǒng)使用所述用戶選擇的證書中的簽名公鑰對(duì)所述憑據(jù)信息進(jìn)行解密,對(duì)所述待簽名數(shù)據(jù)進(jìn)行哈希計(jì)算,判斷哈希計(jì)算結(jié)果和解密結(jié)果是否一致,是則驗(yàn)證成功,否則驗(yàn)證失敗。

本發(fā)明又提供了一種使用指紋key進(jìn)行登錄的裝置,包括第二操作模塊、第三操作模塊、第四操作模塊和第五操作模塊;

所述第二操作模塊,用于獲取登錄驗(yàn)證方式,并將所述登錄驗(yàn)證方式返回給操作系統(tǒng);

所述第三操作模塊,用于獲取所述第三函數(shù)參數(shù)中的登錄驗(yàn)證方式,并判斷所述登錄驗(yàn)證方式是否為外部驗(yàn)證方式,是則獲取所述第三函數(shù)參數(shù)中的登錄界面窗口句柄并保存,返回成功信息,否則返回錯(cuò)誤信息;

所述第四操作模塊,用于根據(jù)所述第三操作模塊保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如所述指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),如所述指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò);

所述第五操作模塊,用于將待簽名數(shù)據(jù)發(fā)送給所述指紋key,所述指紋key檢查自身當(dāng)前狀態(tài)是否為指紋驗(yàn)證已通過(guò),是則指紋key使用所述第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法,使用所述簽名私鑰根據(jù)所述簽名算法對(duì)所述待簽名數(shù)據(jù)進(jìn)行運(yùn)算生成登錄操作系統(tǒng)所需的憑據(jù)信息,所述第五操作模塊還用于將所述憑據(jù)信息返回給所述操作系統(tǒng),否則結(jié)束操作。

進(jìn)一步地,所述裝置還包括第一操作模塊;

當(dāng)所述操作系統(tǒng)接收到登錄觸發(fā)信息時(shí),提示用戶插入指紋key;如所述操作系統(tǒng)檢測(cè)到指紋key插入時(shí),獲取所述指紋key中的所有用戶證書并顯示,提示用戶選擇進(jìn)行登錄所使用的證書,當(dāng)所述操作系統(tǒng)接收到用戶選擇的進(jìn)行登錄所使用的證書時(shí)觸發(fā)所述第一操作模塊;

所述第一操作模塊用于將函數(shù)地址列表返回給所述操作系統(tǒng),所述操作系統(tǒng)分別根據(jù)所述函數(shù)地址列表中的第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址和第五函數(shù)地址調(diào)用所述第二函數(shù)、所述第三函數(shù)、所述第四函數(shù)和所述第五函數(shù)。

進(jìn)一步地,所述第二操作模塊具體用于將所述第二函數(shù)參數(shù)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值,并將第一預(yù)設(shè)值的外部pin碼驗(yàn)證方式返回給所述操作系統(tǒng)。

進(jìn)一步地,所述第四操作模塊包括:

第一判斷單元,用于當(dāng)所述第四函數(shù)被調(diào)用時(shí),判斷是否需要生成會(huì)話pin碼;

第二判斷單元,用于當(dāng)所述第一判斷單元判斷為否時(shí),判斷是否需要使用會(huì)話pin碼進(jìn)行登錄,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第三判斷單元,用于當(dāng)所述第二判斷單元判斷為是時(shí),判斷是否保存有合法的會(huì)話pin碼,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第四判斷單元,用于當(dāng)所述第三判斷單元判斷為是時(shí),判斷所述指紋key是否登錄有效,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第一設(shè)置單元,用于當(dāng)所述第四判斷單元判斷為是時(shí),設(shè)置指紋key的登錄狀態(tài)為已登錄,返回成功信息;

第五判斷單元,用于當(dāng)所述第一判斷單元判斷為是時(shí),判斷生成pin碼的條件是否合法,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第六判斷單元,用于當(dāng)所述第五判斷單元判斷為是時(shí),判斷所述指紋key的登錄狀態(tài)是否為已登錄;

彈出提示單元,用于當(dāng)所述第六判斷單元判斷為否時(shí),根據(jù)所述第三操作模塊保存的所述登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在所述指紋key上輸入指紋進(jìn)行驗(yàn)證;如所述指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給所述裝置返回驗(yàn)證成功信息,如所述指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給所述裝置返回驗(yàn)證失敗信息;

接收單元,用于接收所述指紋key返回的驗(yàn)證成功信息或驗(yàn)證失敗信息;

第七判斷單元,用于根據(jù)所述接收單元接收到的所述指紋key返回的信息判斷所述指紋key是否驗(yàn)證成功,是則設(shè)置指紋key的登錄狀態(tài)為已登錄,否則返回錯(cuò)誤信息;

生成保存單元,用于當(dāng)?shù)诹袛鄦卧?或所述第七單元判斷為是時(shí)生成會(huì)話pin碼并保存,且保存登錄時(shí)間,返回成功信息。

進(jìn)一步地,所述第一判斷單元具體用于判斷所述第四函數(shù)參數(shù)中的pin碼標(biāo)志中的驗(yàn)證標(biāo)識(shí)是否置位,是則需要生成會(huì)話pin碼,否則不需要生成會(huì)話pin碼。

進(jìn)一步地,所述第二判斷單元具體用于判斷所述第四函數(shù)參數(shù)中的pin碼標(biāo)志中的登錄標(biāo)識(shí)是否置位,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息。

進(jìn)一步地,所述第三判斷單元具體用于判斷所述第四函數(shù)的參數(shù)中是否有會(huì)話pin碼且所述參數(shù)中的會(huì)話pin碼長(zhǎng)度是否等于預(yù)設(shè)長(zhǎng)度,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息。

進(jìn)一步地,所述第四判斷單元具體用于判斷當(dāng)前時(shí)間減去保存的登錄時(shí)間是否小于預(yù)設(shè)值,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息。

進(jìn)一步地,所述第一設(shè)置單元具體用于將登錄標(biāo)識(shí)置位并保存,返回成功信息。

進(jìn)一步地,所述第五判斷單元具體用于判斷所述第四函數(shù)的參數(shù)中的會(huì)話pin碼和會(huì)話pin碼長(zhǎng)度是否均為空,是則返回錯(cuò)誤信息。

進(jìn)一步地,所述第六判斷單元具體用于判斷保存的登錄標(biāo)識(shí)是否置位,是則指紋key處于已登錄狀態(tài),否則指紋key處于未登錄狀態(tài)。

進(jìn)一步地,所述彈出提示單元具體用于根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,并給所述指紋key發(fā)送指紋驗(yàn)證指令,當(dāng)所述指紋key接收到用戶輸入的指紋時(shí),判斷接收到的指紋是否與內(nèi)部保存的指紋一致,是則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給所述裝置返回驗(yàn)證成功信息,否則所述指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給所述裝置返回驗(yàn)證失敗信息。

進(jìn)一步地,所述第七判斷單元具體用于根據(jù)所述接收單元接收到的所述指紋key返回的信息判斷所述指紋key是否驗(yàn)證成功,如接收到的信息為所述驗(yàn)證成功信息則將所登錄標(biāo)識(shí)置位,如接收到的信息為所述驗(yàn)證失敗信息則返回錯(cuò)誤信息。

進(jìn)一步地,所述生成保存單元具體用于根據(jù)所述第四函數(shù)的參數(shù)中的函數(shù)指針獲取生成函數(shù),通過(guò)所述生成函數(shù)生成對(duì)應(yīng)的會(huì)話pin碼,保存所述會(huì)話pin碼和登錄時(shí)間,返回成功信息。

本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):

本發(fā)明提供的技術(shù)方案在window函數(shù)中通過(guò)使用外部驗(yàn)證密碼方式,用指紋驗(yàn)證代替pin驗(yàn)證,只需要修改廠商的windows函數(shù)來(lái)彈出指紋提示框而不彈出pin碼框,讓指紋key直接在windows系統(tǒng)中能正常使用,方便用戶使用。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例二提供的一種使用指紋key進(jìn)行登錄的方法流程圖;

圖2為本發(fā)明實(shí)施例二中的步驟107的具體實(shí)現(xiàn)過(guò)程流程圖;

圖3為本發(fā)明實(shí)施例三提供的一種使用指紋key進(jìn)行登錄的裝置的模塊組成框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

本發(fā)明實(shí)施例一提供一種使用指紋key進(jìn)行登錄的方法,包括:

當(dāng)?shù)诙瘮?shù)被調(diào)用時(shí),裝置獲取登錄驗(yàn)證方式,并將登錄驗(yàn)證方式返回給操作系統(tǒng);

具體的,在本實(shí)施例中,當(dāng)?shù)诙瘮?shù)被操作系統(tǒng)調(diào)用時(shí)還包括:操作系統(tǒng)通過(guò)第二函數(shù)的返回值判斷獲取登錄驗(yàn)證方式是否成功,如第二函數(shù)返回登錄驗(yàn)證方式則獲取登錄驗(yàn)證方式成功,否則獲取登錄驗(yàn)證方式失敗。

在本實(shí)施例中,裝置獲取登錄驗(yàn)證方式具體為:裝置將第二函數(shù)參數(shù)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值;優(yōu)選的,裝置將第二函數(shù)參數(shù)中的第三數(shù)據(jù)結(jié)構(gòu)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值。

當(dāng)?shù)谌瘮?shù)被調(diào)用時(shí),裝置獲取第三函數(shù)參數(shù)中的登錄驗(yàn)證方式,并判斷登錄驗(yàn)證方式是否為外部驗(yàn)證方式,是則裝置獲取第三函數(shù)參數(shù)中的登錄界面窗口句柄并保存,第三函數(shù)返回成功信息,否則第三函數(shù)返回錯(cuò)誤信息;

優(yōu)選的,本實(shí)施例中裝置將獲取的登錄界面窗口句柄保存到第二數(shù)據(jù)結(jié)構(gòu)中;

具體的,在本實(shí)施例中,當(dāng)?shù)谌瘮?shù)被操作系統(tǒng)調(diào)用時(shí)還包括:操作系統(tǒng)通過(guò)第三函數(shù)的返回值判斷登錄界面窗口句柄是否保存成功,如第三函數(shù)返回成功信息則登錄界面窗口句柄保存成功,否則登錄界面窗口句柄保存失敗。

當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如驗(yàn)證通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),如驗(yàn)證未通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò)。

在本實(shí)施例中,當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置執(zhí)行的步驟具體包括:

步驟a1:當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置判斷是否需要生成會(huì)話pin碼,是則執(zhí)行步驟a6,否則執(zhí)行步驟a2;

具體的,在本實(shí)施例中,步驟a1包括:裝置判斷第四函數(shù)參數(shù)中的pin碼標(biāo)志中的驗(yàn)證標(biāo)識(shí)是否置位,是則需要生成會(huì)話pin碼,否則不需要生成會(huì)話pin碼。

步驟a2:裝置判斷是否需要使用會(huì)話pin碼進(jìn)行登錄,是則執(zhí)行步驟a3,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a2包括:裝置判斷第四函數(shù)參數(shù)中的pin碼標(biāo)志中的登錄標(biāo)識(shí)是否置位,是則需要使用會(huì)話pin碼進(jìn)行登錄,否則不需要使用會(huì)話pin碼進(jìn)行登錄。

步驟a3:裝置判斷是否保存有合法的會(huì)話pin碼,是則執(zhí)行步驟a4,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a3包括:裝置判斷第四函數(shù)的參數(shù)中是否有會(huì)話pin碼且參數(shù)中的會(huì)話pin碼長(zhǎng)度是否等于預(yù)設(shè)長(zhǎng)度,是則執(zhí)行步驟a4,否則第四函數(shù)返回錯(cuò)誤信息。

步驟a4:裝置判斷指紋key是否登錄有效,是則執(zhí)行步驟a5,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a4包括:裝置判斷當(dāng)前時(shí)間減去保存的登錄時(shí)間是否小于預(yù)設(shè)值,是則執(zhí)行步驟a5,否則第四函數(shù)返回錯(cuò)誤信息。

步驟a5:裝置設(shè)置指紋key的登錄狀態(tài)為已登錄,第四函數(shù)返回成功信息;

具體的,在本實(shí)施例中,步驟a5包括:裝置將登錄標(biāo)識(shí)置位并保存,第四函數(shù)返回成功信息。

步驟a6:裝置判斷生成pin碼的條件是否合法,是則執(zhí)行步驟a7,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a6包括:裝置判斷第四函數(shù)的參數(shù)中的會(huì)話pin碼和會(huì)話pin碼長(zhǎng)度是否均為空,是則不合法,否則合法。

步驟a7:裝置判斷指紋key的登錄狀態(tài)是否為已登錄,是則執(zhí)行步驟a10,否則執(zhí)行步驟a8;

具體的,在本實(shí)施例中,步驟a7包括:裝置判斷保存的登錄標(biāo)識(shí)是否置位,是則指紋key處于已登錄狀態(tài),否則指紋key處于未登錄狀態(tài)。優(yōu)選的,登錄標(biāo)識(shí)保存在第二數(shù)據(jù)結(jié)構(gòu)中;

步驟a8:裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回驗(yàn)證成功信息,如指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回驗(yàn)證失敗信息;

具體的,在本實(shí)施例中,步驟a8包括:裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,并給指紋key發(fā)送指紋驗(yàn)證指令,當(dāng)指紋key接收到用戶輸入的指紋時(shí),判斷接收到的指紋是否與內(nèi)部保存的指紋一致,是則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回驗(yàn)證成功信息,否則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回驗(yàn)證失敗信息;

步驟a9:裝置根據(jù)接收到的指紋key返回的信息判斷指紋key是否驗(yàn)證成功,是則設(shè)置指紋key的登錄狀態(tài)為已登錄,執(zhí)行步驟a10,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a9包括:裝置根據(jù)接收到的指紋key返回的信息判斷指紋key是否驗(yàn)證成功,如接收到的信息為驗(yàn)證成功信息則指紋key驗(yàn)證成功,將登錄標(biāo)識(shí)置位,執(zhí)行步驟a10,如接收到的信息為驗(yàn)證失敗信息則第四函數(shù)返回錯(cuò)誤信息。

步驟a10:裝置生成會(huì)話pin碼并保存,且保存登錄時(shí)間,第四函數(shù)返回成功信息;

具體的,在本實(shí)施例中,步驟a10包括:裝置根據(jù)第四函數(shù)參數(shù)中的函數(shù)指針獲取生成函數(shù),通過(guò)生成函數(shù)生成對(duì)應(yīng)的會(huì)話pin碼,保存會(huì)話pin碼和登錄時(shí)間,第四函數(shù)返回成功信息。優(yōu)選的,裝置根據(jù)第四函數(shù)參數(shù)中的第一數(shù)據(jù)結(jié)構(gòu)中的函數(shù)指針獲取生成函數(shù);

在本實(shí)施例中,當(dāng)?shù)谒暮瘮?shù)被操作系統(tǒng)調(diào)用時(shí)還包括:操作系統(tǒng)通過(guò)第四函數(shù)的返回值判斷指紋key是否驗(yàn)證成功,如第四函數(shù)返回成功信息則指紋key驗(yàn)證成功,否則指紋key驗(yàn)證失敗。

當(dāng)?shù)谖搴瘮?shù)被調(diào)用時(shí),裝置將待簽名數(shù)據(jù)發(fā)送給指紋key,指紋key檢查自身當(dāng)前狀態(tài)是否為指紋驗(yàn)證已通過(guò),是則使用第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法,使用簽名私鑰根據(jù)簽名算法對(duì)待簽名數(shù)據(jù)進(jìn)行運(yùn)算生成登錄操作系統(tǒng)所需的憑據(jù)信息并將其返回給操作系統(tǒng),否則結(jié)束操作;

其中,指紋key使用第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法包括:指紋key分別根據(jù)第五函數(shù)的參數(shù)中的容器索引和簽名算法標(biāo)識(shí)獲取對(duì)應(yīng)容器中的簽名私鑰和簽名算法;

具體的,在本實(shí)施例中,當(dāng)?shù)谖搴瘮?shù)被操作系統(tǒng)調(diào)用時(shí)還包括:操作系統(tǒng)通過(guò)第五函數(shù)的返回值判斷計(jì)算簽名是否成功,如第五函數(shù)返回憑據(jù)信息則計(jì)算簽名成功,否則計(jì)算簽名失敗;當(dāng)操作系統(tǒng)接收到憑據(jù)信息后,使用用戶選擇的證書對(duì)憑據(jù)信息進(jìn)行驗(yàn)證,如驗(yàn)證成功則允許登錄,如驗(yàn)證失敗則拒絕登錄。具體的,使用用戶選擇的證書對(duì)簽名結(jié)果進(jìn)行驗(yàn)證包括:操作系統(tǒng)使用用戶選擇的證書中的簽名公鑰對(duì)簽名結(jié)果進(jìn)行解密,對(duì)待簽名數(shù)據(jù)進(jìn)行哈希計(jì)算,判斷哈希計(jì)算結(jié)果和解密結(jié)果是否一致,是則驗(yàn)證成功,否則驗(yàn)證失敗。

在本實(shí)施例中,當(dāng)?shù)诙瘮?shù)被調(diào)用之前,還包括:

當(dāng)操作系統(tǒng)接收到登錄觸發(fā)信息時(shí),提示用戶插入指紋key;如操作系統(tǒng)檢測(cè)到指紋key插入時(shí),獲取指紋key中的所有用戶證書并顯示,提示用戶選擇進(jìn)行登錄所使用的證書,當(dāng)操作系統(tǒng)接收到用戶選擇的進(jìn)行登錄所使用的證書時(shí)調(diào)用第一函數(shù);

當(dāng)?shù)谝缓瘮?shù)被調(diào)用時(shí),裝置將函數(shù)地址列表返回給操作系統(tǒng),操作系統(tǒng)分別根據(jù)函數(shù)地址列表中的第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址和第五函數(shù)地址調(diào)用第二函數(shù)、第三函數(shù)、第四函數(shù)和第五函數(shù);具體地,裝置將函數(shù)地址列表返回給操作系統(tǒng)具體為:裝置初始化第一數(shù)據(jù)結(jié)構(gòu),獲取第二函數(shù)指針、第三函數(shù)指針、第四函數(shù)指針、第五函數(shù)指針,創(chuàng)建第二數(shù)據(jù)結(jié)構(gòu)并將其保存到第一數(shù)據(jù)結(jié)構(gòu)中;

具體的,在本實(shí)施例中,當(dāng)?shù)谝缓瘮?shù)被操作系統(tǒng)調(diào)用時(shí)還包括:操作系統(tǒng)通過(guò)第一函數(shù)的返回值判斷初始化是否成功,如第一函數(shù)返回函數(shù)地址列表則初始化成功,否則初始化失敗。

實(shí)施例二

本發(fā)明實(shí)施例二提供一種使用指紋key進(jìn)行登錄的方法,如圖1所示,包括:

當(dāng)操作系統(tǒng)接收到登錄觸發(fā)信息時(shí),提示用戶插入指紋key;如檢測(cè)到指紋key插入時(shí),獲取指紋key中的所有用戶證書并顯示,提示用戶選擇進(jìn)行登錄所使用的證書;當(dāng)操作系統(tǒng)接收到用戶選擇的進(jìn)行登錄所使用的證書時(shí)調(diào)用第一函數(shù);

步驟101:當(dāng)?shù)谝缓瘮?shù)被調(diào)用時(shí),裝置將函數(shù)地址列表返回給所述操作系統(tǒng);

具體的,在本實(shí)施例中,第一函數(shù)為cardacquirecontext,其中,傳入的參數(shù)包括:第一數(shù)據(jù)結(jié)構(gòu);裝置將函數(shù)地址列表返回給所述操作系統(tǒng)包括:初始化第一數(shù)據(jù)結(jié)構(gòu),獲取第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址、第五函數(shù)地址,創(chuàng)建自定義的第二數(shù)據(jù)結(jié)構(gòu)并將其保存到第一數(shù)據(jù)結(jié)構(gòu)中;操作系統(tǒng)會(huì)根據(jù)第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址、第五函數(shù)地址調(diào)用對(duì)應(yīng)的函數(shù);優(yōu)選的,第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址、第五函數(shù)地址為第二函數(shù)指針、第三函數(shù)指針、第四函數(shù)指針、第五函數(shù)指針;

步驟102:操作系統(tǒng)通過(guò)第一函數(shù)的返回值判斷初始化是否成功,是則操作系統(tǒng)根據(jù)第二函數(shù)指針調(diào)用對(duì)應(yīng)的第二函數(shù),執(zhí)行步驟103,否則結(jié)束;

在本實(shí)施例中,步驟102具體為:操作系統(tǒng)判斷第一函數(shù)的返回值,如為函數(shù)地址列表則初始化成功,否則初始化失?。?/p>

步驟103:當(dāng)?shù)诙瘮?shù)被調(diào)用時(shí),裝置獲取登錄驗(yàn)證方式,并將其返回給操作系統(tǒng);

具體的,在本實(shí)施例中,第二函數(shù)為cardgetproperty,傳入的參數(shù)包括第三數(shù)據(jù)結(jié)構(gòu),裝置獲取登錄驗(yàn)證方式具體為:將第三數(shù)據(jù)結(jié)構(gòu)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值,表示登錄驗(yàn)證方式為指紋驗(yàn)證;

步驟104:操作系統(tǒng)通過(guò)第二函數(shù)的返回值判斷獲取登錄驗(yàn)證方式是否成功,是則操作系統(tǒng)根據(jù)第三函數(shù)指針調(diào)用對(duì)應(yīng)的第三函數(shù),執(zhí)行步驟105,否則結(jié)束;

在本實(shí)施例中,步驟104具體為:操作系統(tǒng)判斷第二函數(shù)的返回值,如為登錄驗(yàn)證方式則獲取登錄驗(yàn)證方式成功,執(zhí)行步驟105;否則獲取登錄驗(yàn)證方式失敗,結(jié)束;

步驟105:當(dāng)?shù)谌瘮?shù)被調(diào)用時(shí),裝置獲取第三函數(shù)參數(shù)中的登錄驗(yàn)證方式,判斷登錄驗(yàn)證方式是否為外部驗(yàn)證方式,是則獲取第三函數(shù)參數(shù)中的登錄界面窗口句柄,并將登錄界面窗口句柄保存到第二數(shù)據(jù)結(jié)構(gòu)中,第三函數(shù)返回成功信息;否則第三函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,第三函數(shù)為cardsetproperty,傳入的參數(shù)為第一數(shù)據(jù)結(jié)構(gòu)和登錄界面窗口句柄,將登錄界面窗口句柄保存到第二數(shù)據(jù)結(jié)構(gòu)中具體為:裝置將登錄界面窗口句柄保存到第一數(shù)據(jù)結(jié)構(gòu)中的第二數(shù)據(jù)結(jié)構(gòu)中;

步驟106:操作系統(tǒng)通過(guò)第三函數(shù)的返回值判斷登錄界面窗口句柄是否保存成功,是則操作系統(tǒng)根據(jù)第四函數(shù)指針調(diào)用對(duì)應(yīng)的第四函數(shù),執(zhí)行步驟107,否則結(jié)束;

在本實(shí)施例中,步驟106具體為:操作系統(tǒng)判斷第三函數(shù)的返回值,如為成功信息則登錄界面窗口句柄保存成功,執(zhí)行步驟107;如為失敗信息則登錄界面窗口句柄保存失敗,結(jié)束;

步驟107:當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置根據(jù)第二數(shù)據(jù)結(jié)構(gòu)中的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如指紋key對(duì)輸入的指紋驗(yàn)證成功則第四函數(shù)返回成功信息,執(zhí)行步驟108,如指紋key對(duì)輸入的指紋驗(yàn)證失敗則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,第四函數(shù)為cardauthenticateex,傳入的參數(shù)包括:第一數(shù)據(jù)結(jié)構(gòu)、pin碼標(biāo)志、會(huì)話密碼、會(huì)話密碼長(zhǎng)度,步驟107的具體實(shí)現(xiàn)過(guò)程如圖2所示,包括:

步驟a1:當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置根據(jù)pin碼標(biāo)志判斷是否需要生成會(huì)話pin碼,是則執(zhí)行步驟a6,否則執(zhí)行步驟a2;

具體的,在本實(shí)施例中,步驟a1包括:當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),裝置判斷pin碼標(biāo)志中的驗(yàn)證標(biāo)識(shí)是否置位,是則需要生成會(huì)話pin碼,執(zhí)行步驟a6;否則不需要生成會(huì)話pin碼,執(zhí)行步驟a2。例如,pin碼標(biāo)志中第8位的值為1則表示需要生成會(huì)話pin碼;

步驟a2:裝置判斷是否需要使用會(huì)話pin碼進(jìn)行登錄,是則執(zhí)行步驟a3,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a2包括:裝置判斷pin碼標(biāo)志中的登錄標(biāo)識(shí)是否置位,是則需要使用會(huì)話pin碼進(jìn)行登錄,執(zhí)行步驟a3;否則不需要使用會(huì)話pin碼進(jìn)行登錄,第四函數(shù)返回錯(cuò)誤信息;例如pin碼標(biāo)志中第7位或第6位的值為1則表示需要使用會(huì)話pin碼進(jìn)行登錄;

步驟a3:裝置判斷是否保存有合法的會(huì)話pin碼,是則執(zhí)行步驟a4,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a3包括:裝置判斷第四函數(shù)的參數(shù)中是否有會(huì)話pin碼且參數(shù)中的會(huì)話pin碼長(zhǎng)度是否等于預(yù)設(shè)長(zhǎng)度,是則執(zhí)行步驟a4,否則第四函數(shù)返回錯(cuò)誤信息;

步驟a4:裝置判斷指紋key是否登錄有效,是則執(zhí)行步驟a5,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a4包括:裝置判斷當(dāng)前時(shí)間減去第二數(shù)據(jù)結(jié)構(gòu)中的登錄時(shí)間是否小于預(yù)設(shè)值,是則執(zhí)行步驟a5,否則第四函數(shù)返回錯(cuò)誤信息;

步驟a5:裝置設(shè)置指紋key的登錄狀態(tài)為已登錄,第四函數(shù)返回成功信息;

具體的,在本實(shí)施例中,裝置設(shè)置登錄狀態(tài)為已登錄包括:裝置將登錄標(biāo)識(shí)置位并保存;優(yōu)選的,將登錄標(biāo)識(shí)保存到第二數(shù)據(jù)結(jié)構(gòu)中;

步驟a6:裝置判斷生成pin碼的條件是否合法,是則執(zhí)行步驟a7,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a6包括:裝置判斷第四函數(shù)的參數(shù)中的會(huì)話pin碼和會(huì)話pin碼長(zhǎng)度是否均為空,是則不合法,第四函數(shù)返回錯(cuò)誤信息;否則合法,執(zhí)行步驟a7;

步驟a7:裝置判斷指紋key的登錄狀態(tài)是否為已登錄,是則執(zhí)行步驟a10,否則執(zhí)行步驟a8;

具體的,在本實(shí)施例中,步驟a7包括:裝置判斷第二數(shù)據(jù)結(jié)構(gòu)中保存的登錄標(biāo)識(shí)是否置位,是則指紋key處于已登錄狀態(tài),執(zhí)行步驟a10;否則指紋key處于未登錄狀態(tài),執(zhí)行步驟a8;

步驟a8:裝置根據(jù)第一數(shù)據(jù)結(jié)構(gòu)中的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回驗(yàn)證成功信息;如指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回驗(yàn)證失敗信息;

具體的,在本實(shí)施例中,步驟a8具體為:裝置根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,并給指紋key發(fā)送指紋驗(yàn)證指令,當(dāng)指紋key接收到用戶輸入的指紋時(shí),判斷接收到的指紋是否與內(nèi)部保存的指紋是否相同,是則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回指紋驗(yàn)證成功信息,否則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回指紋驗(yàn)證失敗信息;

步驟a9:裝置根據(jù)接收到的指紋key返回的信息判斷指紋key是否驗(yàn)證成功,是則設(shè)置指紋key的登錄狀態(tài)為已登錄,執(zhí)行步驟a10,否則第四函數(shù)返回錯(cuò)誤信息;

具體的,在本實(shí)施例中,步驟a9包括:裝置根據(jù)接收到的信息判斷指紋驗(yàn)證是否成功,如接收到的信息為指紋驗(yàn)證成功信息則指紋key驗(yàn)證成功,將第二數(shù)據(jù)結(jié)構(gòu)中的登錄標(biāo)識(shí)置位,執(zhí)行步驟a10,如接收到的信息為指紋驗(yàn)證失敗信息則指紋key驗(yàn)證失敗,第四函數(shù)返回錯(cuò)誤信息;

步驟a10:裝置生成會(huì)話pin碼并保存,且保存登錄時(shí)間,第四函數(shù)返回成功信息;

具體的,在本實(shí)施例中,步驟a10包括:裝置根據(jù)第四函數(shù)的參數(shù)中的第一數(shù)據(jù)結(jié)構(gòu)中的函數(shù)指針獲取生成函數(shù),通過(guò)生成函數(shù)生成對(duì)應(yīng)的會(huì)話pin碼,保存生成的會(huì)話pin碼和本次登錄時(shí)間,第四函數(shù)返回成功信息;優(yōu)選的,將生成的會(huì)話pin碼和本次登錄時(shí)間保存在第二數(shù)據(jù)結(jié)構(gòu)中;

步驟108:操作系統(tǒng)通過(guò)第四函數(shù)的返回值判斷指紋key是否驗(yàn)證成功,是則操作系統(tǒng)根據(jù)第五函數(shù)指針調(diào)用對(duì)應(yīng)的第五函數(shù),執(zhí)行步驟109,否則結(jié)束;

具體的,在本實(shí)施例中,如第四函數(shù)返回成功信息則指紋key驗(yàn)證成功,否則指紋key驗(yàn)證失敗;

在本實(shí)施例中,裝置將容器索引、簽名算法標(biāo)識(shí)、待簽名數(shù)據(jù)作為參數(shù)調(diào)用第五函數(shù);

步驟109:當(dāng)?shù)谖搴瘮?shù)被調(diào)用時(shí),裝置將待簽名數(shù)據(jù)發(fā)送給指紋key,指紋key使用第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法,使用簽名私鑰根據(jù)簽名算法對(duì)待簽名數(shù)據(jù)進(jìn)行運(yùn)算生成登錄操作系統(tǒng)所需的憑據(jù)信息,第五函數(shù)將憑據(jù)信息返回給操作系統(tǒng);

具體的,在本實(shí)施例中,其中,指紋key使用第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法包括:指紋key分別根據(jù)第五函數(shù)的參數(shù)中的容器索引和簽名算法標(biāo)識(shí)獲取對(duì)應(yīng)容器中的簽名私鑰和簽名算法;如指紋key簽名不成功則給操作系統(tǒng)返回簽名失敗信息,第五函數(shù)返回錯(cuò)誤信息;

例如,本實(shí)施例中的待簽名數(shù)據(jù)可以包括:用戶名、域名、隨機(jī)數(shù)等;

步驟110:操作系統(tǒng)通過(guò)第五函數(shù)的返回值判斷計(jì)算簽名是否成功,是則執(zhí)行步驟111,否則結(jié)束;

具體的,在本實(shí)施例中,如第五函數(shù)返回憑據(jù)信息則計(jì)算簽名成功,否則計(jì)算簽名失敗;

步驟111:操作系統(tǒng)使用用戶選擇的證書對(duì)憑據(jù)信息進(jìn)行驗(yàn)證,如驗(yàn)證成功則允許登錄,如驗(yàn)證失敗則拒絕登錄;

具體的,在本實(shí)施例中,使用用戶選擇的證書對(duì)簽名結(jié)果進(jìn)行驗(yàn)證,具體為:操作系統(tǒng)使用用戶選擇的證書中的簽名公鑰對(duì)簽名結(jié)果進(jìn)行解密,對(duì)待簽名數(shù)據(jù)進(jìn)行哈希計(jì)算,判斷哈希計(jì)算結(jié)果和解密結(jié)果是否一致,是則驗(yàn)證成功,否則驗(yàn)證失敗。

實(shí)施例三

本發(fā)明實(shí)施例三提供一種使用指紋key進(jìn)行登錄的裝置,如圖3所示,包括第二操作模塊302、第三操作模塊303、第四操作模塊304和第五操作模塊305;

第二操作模塊302,用于獲取登錄驗(yàn)證方式,并將登錄驗(yàn)證方式返回給操作系統(tǒng);

在本實(shí)施例中,第二操作模塊302具體用于將第二函數(shù)參數(shù)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值,并將第一預(yù)設(shè)值的外部pin碼驗(yàn)證方式返回給操作系統(tǒng);優(yōu)選的,第二操作模塊302具體用于將第二函數(shù)參數(shù)中的第三數(shù)據(jù)結(jié)構(gòu)中的外部pin碼驗(yàn)證方式設(shè)置為第一預(yù)設(shè)值,并將第一預(yù)設(shè)值的外部pin碼驗(yàn)證方式返回給操作系統(tǒng);

第三操作模塊303,用于獲取第三函數(shù)參數(shù)中的登錄驗(yàn)證方式,并判斷登錄驗(yàn)證方式是否為外部驗(yàn)證方式,是則獲取第三函數(shù)參數(shù)中的登錄界面窗口句柄并保存,返回成功信息,否則返回錯(cuò)誤信息;

第四操作模塊304,用于根據(jù)第三操作模塊303保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證,如指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),如指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò);

具體的,在本實(shí)施例中,第四操作模塊304包括:

第一判斷單元,用于當(dāng)?shù)谒暮瘮?shù)被調(diào)用時(shí),判斷是否需要生成會(huì)話pin碼;

在本實(shí)施例中,第一判斷單元具體用于判斷第四函數(shù)參數(shù)中的pin碼標(biāo)志中的驗(yàn)證標(biāo)識(shí)是否置位,是則需要生成會(huì)話pin碼,否則不需要生成會(huì)話pin碼;

第二判斷單元,用于當(dāng)?shù)谝慌袛鄦卧袛酁榉駮r(shí),判斷是否需要使用會(huì)話pin碼進(jìn)行登錄,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

在本實(shí)施例中,第二判斷單元具體用于判斷第四函數(shù)參數(shù)中的pin碼標(biāo)志中的登錄標(biāo)識(shí)是否置位,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第三判斷單元,用于當(dāng)?shù)诙袛鄦卧袛酁槭菚r(shí),判斷是否保存有合法的會(huì)話pin碼,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

在本實(shí)施例中,第三判斷單元具體用于判斷第四函數(shù)的參數(shù)中是否有會(huì)話pin碼且參數(shù)中的會(huì)話pin碼長(zhǎng)度是否等于預(yù)設(shè)長(zhǎng)度,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

第四判斷單元,用于當(dāng)?shù)谌袛鄦卧袛酁槭菚r(shí),判斷指紋key是否登錄有效,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

在本實(shí)施例中,第四判斷單元具體用于判斷當(dāng)前時(shí)間減去保存的登錄時(shí)間是否小于預(yù)設(shè)值,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;優(yōu)選的,登錄時(shí)間保存在第二數(shù)據(jù)結(jié)構(gòu)中;

第一設(shè)置單元,用于當(dāng)?shù)谒呐袛鄦卧袛酁槭菚r(shí),設(shè)置指紋key的登錄狀態(tài)為已登錄,返回成功信息;

在本實(shí)施例中,第一設(shè)置單元具體用于將登錄標(biāo)識(shí)置位并保存,返回成功信息;優(yōu)選的,將登錄標(biāo)識(shí)保存到到第二數(shù)據(jù)結(jié)構(gòu)中;

第五判斷單元,用于當(dāng)?shù)谝慌袛鄦卧袛酁槭菚r(shí),判斷生成pin碼的條件是否合法,當(dāng)判斷為否時(shí)返回錯(cuò)誤信息;

在本實(shí)施例中,第五判斷單元具體用于判斷第四函數(shù)的參數(shù)中的會(huì)話pin碼和會(huì)話pin碼長(zhǎng)度是否均為空,是則返回錯(cuò)誤信息;

第六判斷單元,用于當(dāng)?shù)谖迮袛鄦卧袛酁槭菚r(shí),判斷指紋key的登錄狀態(tài)是否為已登錄;

在本實(shí)施例中,第六判斷單元具體用于判斷第二數(shù)據(jù)結(jié)構(gòu)中保存的登錄標(biāo)識(shí)是否置位,是則指紋key處于已登錄狀態(tài),否則指紋key處于未登錄狀態(tài);

彈出提示單元,用于當(dāng)?shù)诹袛鄦卧袛酁榉駮r(shí),根據(jù)第三操作模塊保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,提示用戶在指紋key上輸入指紋進(jìn)行驗(yàn)證;如指紋key對(duì)輸入的指紋驗(yàn)證通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回驗(yàn)證成功信息;如指紋key對(duì)輸入的指紋驗(yàn)證未通過(guò)則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回驗(yàn)證失敗信息;

在本實(shí)施例中,彈出提示單元具體用于根據(jù)保存的登錄界面窗口句柄彈出指紋驗(yàn)證提示框,并給指紋key發(fā)送指紋驗(yàn)證指令,當(dāng)指紋key接收到用戶輸入的指紋時(shí),判斷接收到的指紋是否與內(nèi)部保存的指紋一致,是則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證已通過(guò),給裝置返回驗(yàn)證成功信息;否則指紋key設(shè)置自身當(dāng)前狀態(tài)為指紋驗(yàn)證未通過(guò),給裝置返回驗(yàn)證失敗信息;

接收單元,用于接收指紋key返回的驗(yàn)證成功信息或驗(yàn)證失敗信息;

第七判斷單元,用于根據(jù)接收單元接收到的指紋key返回的信息判斷指紋key是否驗(yàn)證成功,是則設(shè)置指紋key的登錄狀態(tài)為已登錄,否則返回錯(cuò)誤信息;

在本實(shí)施例中,第七判斷單元具體用于根據(jù)接收單元接收到的指紋key返回的信息判斷指紋key是否驗(yàn)證成功,如接收到的信息為驗(yàn)證成功信息則將登錄標(biāo)識(shí)置位,如接收到的信息為驗(yàn)證失敗信息則返回錯(cuò)誤信息;優(yōu)選的,本實(shí)施例中的登錄標(biāo)識(shí)保存在第二數(shù)據(jù)結(jié)構(gòu)中;

生成保存單元,用于當(dāng)?shù)诹袛鄦卧?或第七單元判斷為是時(shí)生成會(huì)話pin碼并保存,且保存登錄時(shí)間,返回成功信息。

在本實(shí)施例中,生成保存單元具體用于根據(jù)第四函數(shù)的參數(shù)中的函數(shù)指針獲取生成函數(shù),通過(guò)生成函數(shù)生成對(duì)應(yīng)的會(huì)話pin碼,保存會(huì)話pin碼和登錄時(shí)間,返回成功信息;優(yōu)選的,生成保存單元將會(huì)話pin碼和登錄時(shí)間保存在第二數(shù)據(jù)結(jié)構(gòu)中;

第五操作模塊305,用于將待簽名數(shù)據(jù)發(fā)送給指紋key,指紋key檢查自身當(dāng)前狀態(tài)是否為指紋驗(yàn)證已通過(guò),是則指紋key使用第五函數(shù)的參數(shù)定位簽名私鑰和簽名算法,使用簽名私鑰根據(jù)簽名算法對(duì)待簽名數(shù)據(jù)進(jìn)行運(yùn)算生成登錄操作系統(tǒng)所需的憑據(jù)信息,第五操作模塊還用于將憑據(jù)信息返回給操作系統(tǒng);否則結(jié)束操作。

在本實(shí)施例中的裝置還可以包括第一操作模塊,當(dāng)操作系統(tǒng)接收到登錄觸發(fā)信息時(shí),提示用戶插入指紋key;如操作系統(tǒng)檢測(cè)到指紋key插入時(shí),獲取指紋key中的所有用戶證書并顯示,提示用戶選擇進(jìn)行登錄所使用的證書,當(dāng)操作系統(tǒng)接收到用戶選擇的進(jìn)行登錄所使用的證書時(shí)觸發(fā)第一操作模塊;第一操作模塊用于將函數(shù)地址列表返回給操作系統(tǒng),操作系統(tǒng)分別根據(jù)函數(shù)地址列表中的第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址和第五函數(shù)地址調(diào)用第二函數(shù)、第三函數(shù)、第四函數(shù)和第五函數(shù)。在本實(shí)施例中,第一操作模塊具體用于初始化第一數(shù)據(jù)結(jié)構(gòu),獲取第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址、第五函數(shù)地址,創(chuàng)建第二數(shù)據(jù)結(jié)構(gòu)并將第二數(shù)據(jù)結(jié)構(gòu)保存到第一數(shù)據(jù)結(jié)構(gòu)中。優(yōu)選的,第二函數(shù)地址、第三函數(shù)地址、第四函數(shù)地址、第五函數(shù)地址為第二函數(shù)指針、第三函數(shù)指針、第四函數(shù)指針、第五函數(shù)指針。

本發(fā)明技術(shù)方案在window函數(shù)中通過(guò)使用外部驗(yàn)證密碼方式,用指紋驗(yàn)證代替pin驗(yàn)證,只需要修改廠商的windows函數(shù)來(lái)彈出指紋提示框而不彈出pin碼框,讓指紋key直接在windows系統(tǒng)中能正常使用,方便用戶使用。

以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開(kāi)的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
云阳县| 旬阳县| 当涂县| 宁明县| 浮梁县| 滨海县| 拜城县| 翁牛特旗| 礼泉县| 衡山县| 上栗县| 成都市| 浪卡子县| 阳高县| 梁平县| 洛川县| 鲜城| 尼玛县| 临桂县| 峡江县| 扶沟县| 温泉县| 稻城县| 防城港市| 芒康县| 凭祥市| 来凤县| 木兰县| 宁南县| 黄浦区| 京山县| 望奎县| 汝阳县| 丰台区| 城固县| 木里| 汝阳县| 安阳县| 嘉荫县| 屏东市| 涿州市|