[發明專利]適于Android智能POS機應用的簽名方法和系統有效
| 申請號: | 202010690272.4 | 申請日: | 2020-07-17 |
| 公開(公告)號: | CN111787529B | 公開(公告)日: | 2021-06-29 |
| 發明(設計)人: | 李劍峰;孫小平 | 申請(專利權)人: | 江蘇海全科技有限公司 |
| 主分類號: | H04W12/30 | 分類號: | H04W12/30;H04W12/03;G07G1/00;H04L9/32 |
| 代理公司: | 南京鐘山專利代理有限公司 32252 | 代理人: | 陳月菊 |
| 地址: | 210022 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 適于 android 智能 pos 應用 簽名 方法 系統 | ||
1.一種適于Android智能POS機應用的簽名方法,其特征在于,所述簽名方法包括:
接收任意一個應用的上架請求,針對該應用,在不改變原生簽名的前提下,調用簽名動態庫,采用CA簽名的簽名證書對該應用進行二次簽名加固,同時把適用的相關終端型號寫入簽名數據中,對簽名數據加密后將該應用上架應用商店;
當終端通過應用商店下載應用后,調用安裝在終端的驗簽動態庫對加密后的簽名數據進行解密,并且依次對公鑰證書、簽名數據、終端型號、原生簽名進行驗證,在前述所有驗證過程均通過后,將應用安裝到終端內;
所述依次對公鑰證書、簽名數據、終端型號、原生簽名進行驗證是指,依次執行如下驗證過程:
驗證應用中的公鑰證書是否使用CA簽發;驗證應用中的簽名數據是否正確;驗證該終端型號與應用匹配;原生簽名是否正確;
所述針對該應用,在不改變原生簽名的前提下,調用簽名動態庫,采用CA簽名的簽名證書對該應用進行二次簽名加固,同時把適用的相關終端型號寫入簽名數據中,對簽名數據加密后上架應用商店包括以下步驟:
S11:調用簽名動態庫;
S12:采用簽名動態庫判斷所述應用的原生簽名的簽名方式屬于V1簽名或V2簽名,如果屬于V1簽名,進入步驟S13,如果屬于V2簽名,進入步驟S14;
S13:解析應用,在應用目錄META-INF中讀原生簽名文件,CERT.SF,MANIFEST.MF,CERT.RSA,對三個文件分別做SM3哈希值,組成文件哈希數據,結合簽名的當前時間、應用支持的終端型號列表、簽名機構組成待簽名數據;
對待簽名數據做摘要,使用CA簽發的證書對摘要做簽名,將應用支持的終端型號列表、當前時間、簽名數據、簽名算法、公鑰證書組成待加密數據;
對待加密數據進行加密后寫入簽名文件HAIQUAN.CNS中;
將簽名文件打包進應用目錄META-INF中;
進入步驟S15;
S14:從原生簽名數據塊中提取原生簽名數據,計算原生簽名數據的哈希值,結合簽名的當前時間、應用支持的終端型號列表、簽名機構組成待簽名數據;
對待簽名數據做摘要,使用CA簽發的證書對摘要做簽名,將應用支持的終端型號列表、當前時間、簽名數據、簽名算法、公鑰證書組成待加密數據;
對待加密數據進行加密后寫入原生簽名數據塊中;
進入步驟S15;
S15:將該應用上架應用商店;
所述調用安裝在終端的驗簽動態庫對加密后的簽名數據進行解密,并且依次對公鑰證書、簽名數據、終端型號、原生簽名進行驗證的過程包括以下步驟:
S21:調用驗簽動態庫,對應用的簽名方式進行判斷,如果是V1簽名,進入步驟S22,如果是V2簽名,進入步驟S23;
S22:進入V1簽名驗證流程:
S221:讀取目錄中的HAIQUAN.CNS中的簽名數據,對簽名數據進行解密,提取出簽名算法和終端型號列表;
S222:根據簽名算法對驗簽的公鑰證書使用CA證書驗證,判斷公鑰證書是否合法,如果合法,進入步驟S223,否則,拒絕所述應用的安裝請求,結束流程;
S223:驗證終端所屬型號是否存在于終端型號列表中,如果存在,進入步驟S224,否則,拒絕所述應用的安裝請求,結束流程;
S224:在應用目錄META-INF中讀原生簽名文件:CERT.SF、MANIFEST.MF、CERT.RSA,對三個文件分別做SM3哈希值,組成文件哈希數據,結合簽名的當前時間、應用支持的終端型號列表、簽名機構組成待簽名數據,對待簽名數據做摘要,采用驗簽公鑰證書對摘要數據進行驗證,驗證簽名數據是否正確,如果正確,進入步驟S225,否則,拒絕所述應用的安裝請求,結束流程;
S225:對應用的原生簽名進行驗證,如果驗證通過,將該應用安裝到終端內,結束流程,否則,拒絕所述應用的安裝請求,結束流程;
S23:進入V2簽名驗證流程:
S231:讀取簽名塊中的簽名數據,對簽名數據進行解密,提取出簽名算法、終端型號列表;
S232:根據簽名算法對驗簽的公鑰證書使用CA證書驗證,判斷公鑰證書是否合法,如果合法,進入步驟S223,否則,拒絕所述應用的安裝請求,結束流程;
S233:驗證終端所屬型號是否存在于終端型號列表中,如果存在,進入步驟S234,否則,拒絕所述應用的安裝請求,結束流程;
S234:讀取原生簽名塊數據,結合簽名的當前時間、應用支持的終端型號列表、簽名機構組成待簽名數據,對待簽名數據做摘要,采用驗簽公鑰證書對摘要數據進行驗證,驗證簽名數據是否正確,如果正確,進入步驟S235,否則,拒絕所述應用的安裝請求,結束流程;
S235:對應用的原生簽名進行驗證,如果驗證通過,將該應用安裝到終端內,結束流程,否則,拒絕所述應用的安裝請求,結束流程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇海全科技有限公司,未經江蘇海全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010690272.4/1.html,轉載請聲明來源鉆瓜專利網。





