本技術(shù)涉及軟件安全,尤其涉及一種為軟件包處理簽名的方法、裝置及電子設(shè)備。
背景技術(shù):
1、互聯(lián)網(wǎng)是一個(gè)面向大眾的開放系統(tǒng),對(duì)于信息的安全性考慮得并不完備,由此引起的信息安全問題日益嚴(yán)重。
2、信息安全問題涉及到國家安全、社會(huì)公共安全及重大國家利益,是互聯(lián)網(wǎng)經(jīng)濟(jì)的制高點(diǎn),也是推動(dòng)互聯(lián)網(wǎng)發(fā)展、電子政務(wù)和電子商務(wù)的關(guān)鍵,發(fā)展信息安全技術(shù)是目前面臨的迫切要求。
3、但目前多數(shù)軟件包沒有采用國密算法,導(dǎo)致軟件項(xiàng)目面臨更高的信息安全風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本技術(shù)提供了一種為軟件包處理簽名的方法、裝置及電子設(shè)備,以實(shí)現(xiàn)為軟件包處理國密簽名以提高信息安全的目的。具體方案如下:
2、本技術(shù)第一方面提供一種為軟件包處理簽名的方法,所述方法包括:
3、響應(yīng)于簽名添加指令,獲得所述軟件包中的文件內(nèi)容;
4、根據(jù)所述文件內(nèi)容,調(diào)用第一國密算法對(duì)應(yīng)的第一簽名接口,以得到所述第一簽名接口返回的第一簽名數(shù)據(jù);
5、根據(jù)所述第一簽名數(shù)據(jù),調(diào)用第二國密算法對(duì)應(yīng)的第二簽名接口,以得到所述第二簽名接口返回的第二簽名數(shù)據(jù);
6、根據(jù)所述第一簽名數(shù)據(jù)和所述第二簽名數(shù)據(jù),獲得簽名概要信息,所述簽名概要信息至少表征所述第一國密算法的算法類型和所述第二國密算法的算法類型;
7、在所述軟件包中添加所述簽名概要信息、所述第一簽名數(shù)據(jù)和所述第二簽名數(shù)據(jù)。
8、在一種可能的實(shí)現(xiàn)中,所述方法還包括:
9、根據(jù)所述簽名概要信息,更新所述軟件包中用于記錄簽名概要條數(shù)的字段值,所述簽名概要條數(shù)為所述軟件包中所包含的簽名概要信息的數(shù)量;
10、根據(jù)所述第一簽名數(shù)據(jù)和所述第二簽名數(shù)據(jù),更新所述軟件包中用于記錄簽名長度的字段值,所述簽名長度為所述軟件包中所包含的簽名數(shù)據(jù)的長度。
11、在一種可能的實(shí)現(xiàn)中,所述方法還包括:
12、響應(yīng)于軟件安裝指令,從所述軟件包中讀取所述第一國密算法對(duì)應(yīng)的簽名概要信息;
13、如果在所述軟件包中沒有讀取到所述第一國密算法對(duì)應(yīng)的簽名概要信息,獲得第一驗(yàn)證結(jié)果,所述第一驗(yàn)證結(jié)果表征所述軟件包沒有通過國密算法的簽名驗(yàn)證;
14、如果在所述軟件包中讀取到所述第一國密算法對(duì)應(yīng)的簽名概要信息,根據(jù)所述第一國密算法對(duì)應(yīng)的簽名概要信息,從所述軟件包讀取所述第一國密算法對(duì)應(yīng)的第一簽名數(shù)據(jù);
15、根據(jù)讀取到的第一簽名數(shù)據(jù),調(diào)用所述第二國密算法對(duì)應(yīng)的第二簽名接口,以得到所述第二簽名接口返回的第三簽名數(shù)據(jù);
16、將所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)進(jìn)行比對(duì);
17、如果所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)比對(duì)不一致,獲得所述第一驗(yàn)證結(jié)果;
18、如果所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)比對(duì)一致,根據(jù)所述軟件包中的文件內(nèi)容和所述軟件包中的第一簽名數(shù)據(jù),調(diào)用所述第一國密算法對(duì)應(yīng)的驗(yàn)簽接口,以得到所述驗(yàn)簽接口返回的簽名驗(yàn)證結(jié)果;
19、在所述簽名驗(yàn)證結(jié)果表征所述軟件包中的文件內(nèi)容與所述軟件包中的第一簽名數(shù)據(jù)驗(yàn)證通過的情況下,執(zhí)行所述軟件包的安裝流程;
20、在所述簽名驗(yàn)證結(jié)果表征所述軟件包中的文件內(nèi)容與所述軟件包中的第一簽名數(shù)據(jù)驗(yàn)證不通過的情況下,獲得所述第一驗(yàn)證結(jié)果。
21、在一種可能的實(shí)現(xiàn)中,所述方法還包括:
22、響應(yīng)于簽名驗(yàn)證指令,從所述軟件包中讀取所述第一國密算法對(duì)應(yīng)的簽名概要信息;
23、如果在所述軟件包中沒有讀取到所述第一國密算法對(duì)應(yīng)的簽名概要信息,獲得第一驗(yàn)證結(jié)果,所述第一驗(yàn)證結(jié)果表征所述軟件包沒有通過國密算法的簽名驗(yàn)證;
24、如果在所述軟件包中讀取到所述第一國密算法對(duì)應(yīng)的簽名概要信息,根據(jù)所述第一國密算法對(duì)應(yīng)的簽名概要信息,從所述軟件包讀取所述第一國密算法對(duì)應(yīng)的第一簽名數(shù)據(jù);
25、根據(jù)讀取到的第一簽名數(shù)據(jù),調(diào)用所述第二國密算法對(duì)應(yīng)的第二簽名接口,以得到所述第二簽名接口返回的第三簽名數(shù)據(jù);
26、將所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)進(jìn)行比對(duì);
27、如果所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)比對(duì)不一致,獲得所述第一驗(yàn)證結(jié)果;
28、如果所述第三簽名數(shù)據(jù)與從所述軟件包讀取到的第二簽名數(shù)據(jù)比對(duì)一致,根據(jù)所述軟件包中的文件內(nèi)容和所述軟件包中的第一簽名數(shù)據(jù),調(diào)用所述第一國密算法對(duì)應(yīng)的驗(yàn)簽接口,以得到所述驗(yàn)簽接口返回的簽名驗(yàn)證結(jié)果;
29、在所述簽名驗(yàn)證結(jié)果表征所述軟件包中的文件內(nèi)容與所述軟件包中的第一簽名數(shù)據(jù)驗(yàn)證通過的情況下,獲得第二驗(yàn)證結(jié)果,所述第二驗(yàn)證結(jié)果表征所述軟件包通過國密算法的簽名驗(yàn)證;
30、在所述簽名驗(yàn)證結(jié)果表征所述軟件包中的文件內(nèi)容與所述軟件包中的第一簽名數(shù)據(jù)驗(yàn)證不通過的情況下,獲得所述第一驗(yàn)證結(jié)果。
31、在一種可能的實(shí)現(xiàn)中,從所述軟件包中讀取所述第一國密算法對(duì)應(yīng)的簽名概要信息,包括:
32、在所述軟件包中讀取算法類型與所述第一國密算法相匹配的簽名概要信息。
33、在一種可能的實(shí)現(xiàn)中,根據(jù)所述第一國密算法對(duì)應(yīng)的簽名概要信息,從所述軟件包讀取所述第一國密算法對(duì)應(yīng)的所述第一簽名數(shù)據(jù),包括:
34、從所述軟件包中,至少按照所述第一國密算法對(duì)應(yīng)的簽名概要信息所記錄的數(shù)據(jù)地址,讀取所述第一國密算法對(duì)應(yīng)的所述第一簽名數(shù)據(jù)。
35、在一種可能的實(shí)現(xiàn)中,所述方法還包括:
36、響應(yīng)于簽名刪除指令,刪除所述軟件包中所述第一國密算法對(duì)應(yīng)的簽名概要信息和所述第二國密算法對(duì)應(yīng)的簽名概要信息。
37、在一種可能的實(shí)現(xiàn)中,在獲得所述軟件包中的文件內(nèi)容之前,所述方法還包括:
38、確定所述軟件包滿足第一條件;
39、其中,所述軟件包滿足第一條件,包括:國密配置項(xiàng)存在,且,所述軟件包中沒有所述第一國密算法對(duì)應(yīng)的簽名概要信息。
40、本技術(shù)第二方面提供一種為軟件包處理簽名的裝置,所述裝置包括:
41、內(nèi)容獲得單元,用于響應(yīng)于簽名添加指令,獲得所述軟件包中的文件內(nèi)容;
42、第一簽名單元,用于根據(jù)所述文件內(nèi)容,調(diào)用第一國密算法對(duì)應(yīng)的第一簽名接口,以得到所述第一簽名接口返回的第一簽名數(shù)據(jù);
43、第二簽名單元,用于根據(jù)所述第一簽名數(shù)據(jù),調(diào)用第二國密算法對(duì)應(yīng)的第二簽名接口,以得到所述第二簽名接口返回的第二簽名數(shù)據(jù);
44、概要獲得單元,用于根據(jù)所述第一簽名數(shù)據(jù)和所述第二簽名數(shù)據(jù),獲得簽名概要信息,所述簽名概要信息至少表征所述第一國密算法的算法類型和所述第二國密算法的算法類型;
45、簽名添加單元,用于在所述軟件包中添加所述簽名概要信息、所述第一簽名數(shù)據(jù)和所述第二簽名數(shù)據(jù)。
46、本技術(shù)第三方面提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀指令,當(dāng)所述計(jì)算機(jī)可讀指令在電子設(shè)備上運(yùn)行時(shí),使得所述電子設(shè)備實(shí)現(xiàn)上述第一方面或第一方面任一實(shí)現(xiàn)方式的為軟件包處理簽名的方法。
47、本技術(shù)第四方面提供一種電子設(shè)備,包括至少一個(gè)處理器和與所述處理器連接的存儲(chǔ)器,其中:
48、所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序;
49、所述處理器用于執(zhí)行所述計(jì)算機(jī)程序,以使所述電子設(shè)備能夠?qū)崿F(xiàn)上述第一方面或第一方面任一實(shí)現(xiàn)方式的為軟件包處理簽名的方法。
50、本技術(shù)第五方面提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)承載有一個(gè)或多個(gè)計(jì)算機(jī)程序,當(dāng)所述一個(gè)或多個(gè)計(jì)算機(jī)程序被電子設(shè)備執(zhí)行時(shí),能夠使所述電子設(shè)備上述第一方面或第一方面任一實(shí)現(xiàn)方式的為軟件包處理簽名的方法。
51、借由上述技術(shù)方案,本技術(shù)提供的一種為軟件包處理簽名的方法、裝置及電子設(shè)備中,在軟件包需要添加國密簽名時(shí),響應(yīng)于簽名添加指令,先獲得軟件包中的文件內(nèi)容,然后根據(jù)文件內(nèi)容調(diào)用第一國密算法對(duì)應(yīng)的簽名接口,以得到簽名接口返回的第一簽名數(shù)據(jù);之后,再根據(jù)第一簽名數(shù)據(jù)調(diào)用第二國密算法對(duì)應(yīng)的簽名接口,以得到簽名接口返回的第二簽名數(shù)據(jù),這樣就可以在獲得相應(yīng)的簽名概要信息之后在軟件包中添加簽名概要信息和這兩個(gè)簽名數(shù)據(jù)??梢?,本技術(shù)中可以利用國密算法提供的簽名接口為軟件包獲得簽名數(shù)據(jù)及相應(yīng)的簽名概要信息,由此在軟件包中添加簽名數(shù)據(jù)和簽名概要信息之后,能夠使得軟件包受國密簽名保護(hù),從而提高軟件包的安全性。