[发明专利]适于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.vipzhuanli.com/pat/books/202010690272.4/1.html,转载请声明来源钻瓜专利网。