CN107463806B - 一种Android应用程序安装包的签名和验签方法 - Google Patents

一种Android应用程序安装包的签名和验签方法 Download PDF

Info

Publication number
CN107463806B
CN107463806B CN201710470839.5A CN201710470839A CN107463806B CN 107463806 B CN107463806 B CN 107463806B CN 201710470839 A CN201710470839 A CN 201710470839A CN 107463806 B CN107463806 B CN 107463806B
Authority
CN
China
Prior art keywords
developer
information
signature
digital certificate
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710470839.5A
Other languages
English (en)
Other versions
CN107463806A (zh
Inventor
李志辉
何能强
姜春晓
徐蕾
傅强
王硕
刘杨
严寒冰
丁丽
李佳
狄少嘉
徐原
何世平
温森浩
姚力
张洪
朱芸茜
郭晶
朱天
高胜
胡俊
王小群
张腾
李挺
陈阳
李世淙
徐剑
吕利锋
党向磊
王适文
刘婧
饶毓
张帅
贾子骁
肖崇蕙
吕志泉
韩志辉
马莉雅
雷君
周彧
高川
周昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN201710470839.5A priority Critical patent/CN107463806B/zh
Publication of CN107463806A publication Critical patent/CN107463806A/zh
Application granted granted Critical
Publication of CN107463806B publication Critical patent/CN107463806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种Android应用程序安装包的签名和验签方法,所述签名方法包括:获取开发者身份信息和开发者公钥信息;采用开发者私钥对所获取的信息进行签名,得到第一签名信息;第三方机构对开发者身份信息、开发者公钥信息和第一签名信息进行验证,若通过,则采用CA私钥生成第一数字证书;将所述第一数字证书添加到源程序文件中;采用开发者公钥和开发者私钥,对Android程序源文件进行签名,生成第二数字证书,并生成APK文件。本发明通过数字证书对开发者身份进行认证,无需增加额外的签名工具和验签工具,节约了成本;此外,用于认证开发者身份的数字证书放置在APK文件内,不能被删除,更加安全可靠。

Description

一种Android应用程序安装包的签名和验签方法
技术领域
本发明涉及移动互联网信息安全技术领域,尤其涉及一种Android应用程序安装包的签名和验签方法。
背景技术
Android应用程序的安装文件是一个zip格式压缩包,以APK后缀的文件形式发布。开发者可以通过现有的开发工具将源码进行编译封装生成一个APK格式的安装文件,其中APK文件中的META-INF目录下存放开发者自签名信息,用来校验APK文件的完整性。
在编译工具生成一个APK文件时,会对所有要封装的文件进行摘要计算,并将摘要计算结果放在META-INF目录下。在终端安装APK文件时,Android系统会根据META-INF目录下的文件摘要信息验证APK文件中的程序文件是否被篡改,当确认APK文件未被篡改时,Android操作系统才会安装该APK文件,APK的文件结构如附图1所示,然而,仅通过验证APK文件是否被篡改来安装APK文件存在极大的安全隐患,如果开发者身份被篡改,采用上述方法无法进行验证。
现有Android应用程序安装包的签名方法通常采用增加第三方签名的方法对开发者身份进行认证,通常需要额外的签名工具和签名设备来完成第三方签名,相应地,需要额外的验签工具进而验签设备来完成验签过程,成本高;此外,开发者信息放置在非签名区域,可被删除,可靠性和安全性差。
发明内容
本发明所要解决的技术问题在于,提供一种Android应用程序安装包的签名和验签方法,所述方法通过生成数字证书对开发者身份进行认证,验签过程与开发者自签名证书的验签过程一致,无需增加额外的签名工具和验签工具,节约了成本;此外,用于认证开发者身份的数字证书放置在APK文件内,不能被删除,更加安全可靠。
一种Android应用程序安装包的签名方法,所述签名方法包括以下步骤:
获取开发者身份信息和开发者公钥信息;
采用开发者私钥对所获取的开发者身份信息和开发者公钥信息进行签名,得到第一签名信息;
第三方机构对开发者身份信息、开发者公钥信息和所述第一签名信息进行验证,如果验证通过,则采用CA私钥生成第一数字证书;
将所述第一数字证书添加到源程序文件中;
开发者采用所述第一数字证书所对应的开发者公钥和开发者私钥,对Android程序源文件进行签名,生成第二数字证书,并生成Android应用程序安装包,即APK文件。
进一步的,所述开发者身份信息包括开发者名称信息和地址信息。
进一步的,采用开发者私钥信息对所获取的开发者身份信息和开发者公钥信息进行签名包括以下步骤:计算所获取的开发者身份信息和开发者公钥信息的摘要,使用所述开发者私钥信息对开发者身份信息和开发者公钥信息的摘要进行签名。
进一步的,所述第一签名信息为开发者身份信息和开发者公钥信息经过开发者私钥加密后的数据。
进一步的,所述第一数字证书为开发者认证证书,所述开发者认证证书包括开发者身份信息、开发者公钥信息和第一签名信息经过CA私钥加密后的数据。
进一步的,将所述第一数字证书添加到源程序文件中包括以下步骤:
将所述第一数字证书存放在所述APK文件的RES文件夹或者ASSETS文件夹下。
进一步的,所述第二数字证书为开发者自签名证书,包括开发者自签名信息,所述开发者自签名证书存放在所述APK文件的META-INF目录下。
进一步的,生成Android应用程序安装包包括:将源程序进行编译封装成一个APK格式的安装文件。
一种Android应用程序安装包的验签方法,所述验签方法包括以下步骤:
步骤1、采用开发者公钥信息对所述第二数字证书进行验证,如果验证通过,则进入步骤2,否则提醒用户禁止安装应用程序;
步骤2、检查所述APK文件中RES文件夹或者ASSETS文件夹下是否存在第一数字证书,如果存在,则进入步骤3,否则提醒用户此Android应用程序未经CA机构认证;
步骤3、采用预先安装的CA公钥信息对所述第一数字证书中进行验证,如果验证通过,则进入步骤4,否则提醒用户此Android应用程序未经CA机构认证;
步骤4、提取所述第一数字证书和第二数字证书里的公钥信息,并进行对比,若所提取第一数字证书和第二数字证书里的公钥信息完全相同,则验签通过,否则,验签失败。
进一步的,所述步骤1中,采用开发者公钥信息对所述第二数字证书进行验证,从而判断APK文件是否被篡改;所述步骤3中,采用预先安装的CA公钥信息验证开发者身份信息是否被篡改。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明一种Android应用程序安装包的签名和验签方法可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
(1)本发明符合不改变Android原生签名过程的基本原则,同时能够达到对开发者身份进行第三方认证的目的。在技术可行性上,本发明中的签名与验签过程符合国家标准,且开发者无需使用额外的签名设备,只需向程序源文件中添加“开发者认证证书”即可,大大节约了成本,易于被开发者所接受。
(2)本发明将第三方签名(即第一签名)纳入了系统签名校验机制内,利用安卓系统的校验机制保护了第三方签名的完整性,使得第三方签名不可被删除和修改,并且对APK文件本身的升级、安装均不造成影响,更加安全可靠。
(3)本发明中第三方签名是一劳永逸的,每次发布新的版本均不用重新签名,且第三方签名在前,开发者自签名之后,提高了app开发运营效率。
(4)本发明在开发阶段将签名信息打包在APK文件内,使得最终发布的APK文件的MD5始终是一致的,方便用户对APK进行完整性校验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为现有技术中APK的文件结构示意图;
图2为本发明实施例中第一签名信息生成示意图;
图3为本发明实施例中第一数字证书生成示意图;
图4为本发明实施例中APK文件生成示意图;
图5为本发明实施例提供的Android应用程序安装包的验签方法流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种Android应用程序安装包的签名和验签方法的具体实施方式及其功效,详细说明如后。
带有开发者第三方签名的Android应用程序文件能够兼容原有已发布的应用文件,不影响原有应用程序的更新升级,这就要求开发者第三方签名须不改变Android原生的签名。要符合上述原则,开发者第三方签名可以通过添加额外的具有开发者真实身份信息的数字证书来实现对开发者身份的标识,具体地,本发明实施例提供了一种Android应用程序安装包的签名方法,所述签名方法包括以下步骤:
S1、获取开发者身份信息和开发者公钥信息。
所述开发者身份信息包括开发者身份信息和地址信息,,开发者包括公司或个人,如果开发者为公司,则所述开发者信息包括公司名称、公司资质、公司地址等信息;如果开发者为个人,则所述开发者信息包括身份证信息、姓名信息和住址信息等;所述开发者公钥信息为开发者开发Android应用程序所用的原生公钥信息。
S2、采用开发者私钥对所获取的开发者身份信息和开发者公钥信息进行签名,得到第一签名信息,如附图2所示。
所述开发者私钥信息为开发者开发Android应用程序所用的原生私钥信息,所述第一签名信息为开发者身份信息和开发者公钥信息经过开发者私钥加密后的数据。
所述采用开发者私钥信息对所获取的开发者身份信息和开发者公钥信息进行签名包括:计算所获取的开发者身份信息和开发者公钥信息的摘要,使用所述开发者私钥信息对开发者身份信息和开发者公钥信息的摘要进行签名。
S3、开发者向第三方机构提交自己的身份信息、开发者公钥信息和步骤S2中生成的第一签名信息。
第三方机构为CA机构(CA机构又称CA中心,即证书授权中心,或称证书授权机构,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。)例如中国人民银行建立的金融安全认证中心(CFCA)、中国电信认证中心(CTCA)、海关认证中心(SCCA)、国家外贸部EDI中心建立的国富安CA安全认证中心、广东电子商务认证中心为首的“网证通”认证体系、SHECA(上海CA)为首的UCA协卡认证体系等。
第三方机构对开发者身份信息、开发者公钥信息和所述第一签名信息进行验证,验证过程为线下验证,例如开发者为公司,则验证公司资质等信息;如果开发者为个人,则验证个人身份等信息,如果验证通过,则采用CA私钥生成第一数字证书,如附图3所示;
所述第一数字证书为开发者认证证书,所述开发者认证证书包括开发者身份信息、开发者公钥信息和第一签名信息经过CA私钥加密后的数据。
第三方机构在向开发者颁发数字证书时,可采用SM2算法(SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法),符合国家密码局的要求,本发明并不限于SM2算法,其他符合国家密码局的要求能够生成相应的数字证书的算法均可用于本发明。
S4、将所述第一数字证书添加到源程序文件中;
开发者在开发APP时,在源程序文件中添加所述第一数字证书,将所述第一数字证书存放在所述APK文件的RES文件夹或者ASSETS文件夹下,如附图4所示。
S5、开发者采用所述第一数字证书所对应的开发者公钥和开发者私钥,对Android程序源文件进行签名,生成第二数字证书,并生成Android应用程序安装包,即APK文件。
开发者使用所述第一数字证书所对应的公私钥对,即开发者公钥和开发者私钥,对Android程序源文件进行签名,生成符合Android要求的第二数字证书,即开发者自签名证书,并将源程序进行编译封装生成APP安装程序APK格式的安装文件。
所述第二数字证书为开发者自签名证书,包括开发者自签名信息,所述开发者自签名证书存放在所述APK文件的META-INF目录下。
本发明实施例还提供了一种Android应用程序安装包的验签方法,用于验证上述签名方法生成的Android应用程序安装包,如附图5所示,所述方法验签包括以下步骤:
步骤1、安全企业或应用商店采用开发者公钥信息对所述第二数字证书进行验证,如果验证通过,则说明APK文件未被篡改,即Android应用程序源代码没有未被篡改,则进入步骤2,否则提醒用户禁止安装应用程序;
所述第二数字证书为开发者自签名证书,包括开发者自签名信息,所述开发者自签名证书存放在所述APK文件的META-INF目录下。
步骤2、检查所述APK文件中RES文件夹或者ASSETS文件夹下是否存在第一数字证书,如果存在,则进入步骤3,否则提醒用户此Android应用程序未经CA机构认证,;
所述第一数字证书为开发者认证证书,所述开发者认证证书包括开发者身份信息经过、开发者公钥信息和第一签名信息CA私钥加密后的数据。
所述第一签名信息包括开发者身份信息经过开发者私钥加密后的数据和开发者公钥经过开发者私钥加密后的数据。
步骤3、采用预先安装的CA公钥信息对所述第一数字证书中进行验证,如果验证通过,则说明开发者身份经过CA认证,开发者身份信息未被篡改,则进入步骤4,否则提醒此Android应用程序未经CA机构认证;
采用预先安装的CA公钥信息验证所述第一数字证书中的开发者身份信息是否经过CA认证,采用开发者公钥信息验证所述第一数字证书中的第一签名信息是否正确。
步骤4、当确认Android应用程序未被篡改且开发者身份真实有效且被CA认证时,提取所述第一数字证书和第二数字证书里的公钥信息,其中第一数字证书的公钥信息对应附图5中的第一公钥,第二数字证书的公钥信息对应附图5中的第二公钥,并进行对比,只有当所提取第一数字证书和第二数字证书里的公钥信息完全相同时,验签通过,否则,验签失败。
提醒此Android应用程序未经CA机构认证,是提示用户,无法保证当前Android应用程序的开发者身份真实有效,用户可根据自己的需求选择安装此Android应用程序,或者不安装此Android应用程序。
验签者须预置CA根证书(即CA公钥)列表,实现对“开发者认证证书”中开发者身份的验证。
验签者须定期与第三方机构同步开发者黑名单信息,及时识别被列入黑名单的开发者。
本发明符合不改变Android原生签名过程的基本原则,同时能够达到对开发者身份进行第三方认证的目的。在技术可行性上,本发明中的签名与验签过程符合国家标准,且开发者无需使用额外的签名设备,只需向程序源文件中添加“开发者认证证书”即可,大大节约了成本,易于被开发者所接受;第三方签名是一劳永逸的,每次发布新的版本均不用重新签名,且第三方签名在前,开发者自签名在后,提高了app开发运营效率。
本发明将第三方签名(即第一签名)纳入了系统签名校验机制内,利用安卓系统的校验机制保护了第三方签名的完整性,使得第三方签名不可被删除和修改,并且对APK文件本身的升级、安装均不造成影响,更加安全可靠。本发明在开发阶段将签名信息打包在APK文件内,使得最终发布的APK文件的MD5始终是一致的,方便用户对APK进行完整性校验。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种Android应用程序安装包的签名方法,其特征在于,所述签名方法包括以下步骤:
获取开发者身份信息和开发者公钥信息;
采用开发者私钥对所获取的开发者身份信息和开发者公钥信息进行签名,得到第一签名信息;
第三方机构对开发者身份信息、开发者公钥信息和所述第一签名信息进行验证,如果验证通过,则采用CA私钥生成第一数字证书,所述第一数字证书为开发者认证证书,所述开发者认证证书包括开发者身份信息、开发者公钥信息和第一签名信息经过CA私钥加密后的数据;
将所述第一数字证书添加到源程序文件中;
开发者采用所述第一数字证书所对应的开发者公钥和开发者私钥,对Android程序源文件进行签名,生成第二数字证书,并生成Android应用程序安装包,即APK文件。
2.根据权利要求1所述的Android应用程序安装包的签名方法,其特征在于,所述开发者身份信息包括开发者名称信息和地址信息。
3.根据权利要求1或2所述的Android应用程序安装包的签名方法,其特征在于,所述采用开发者私钥信息对所获取的开发者身份信息和开发者公钥信息进行签名包括以下步骤:
计算所获取的开发者身份信息和开发者公钥信息的摘要,使用所述开发者私钥信息对开发者身份信息和开发者公钥信息的摘要进行签名。
4.根据权利要求1所述的Android应用程序安装包的签名方法,其特征在于,将所述第一数字证书添加到源程序文件中包括以下步骤:
将所述第一数字证书存放在所述APK文件的RES文件夹或者ASSETS文件夹下。
5.根据权利要求1所述的Android应用程序安装包的签名方法,其特征在于,所述第二数字证书为开发者自签名证书,包括开发者自签名信息,所述开发者自签名证书存放在所述APK文件的META-INF目录下。
6.根据权利要求1所述的Android应用程序安装包的签名方法,其特征在于,生成Android应用程序安装包包括以下步骤:将源程序进行编译封装成一个APK格式的安装文件。
7.一种Android应用程序安装包的签名的验签方法,用于验证使用权利要求1-6中任意一项所述的方法所生成的Android应用程序安装包,其特征在于,所述验签方法包括以下步骤:
步骤1、采用开发者公钥信息对所述第二数字证书进行验证,如果验证通过,则进入步骤2,否则提醒用户禁止安装应用程序;
步骤2、检查所述APK文件中RES文件夹或者ASSETS文件夹下是否存在第一数字证书,如果存在,则进入步骤3,否则提醒用户此Android应用程序未经CA机构认证,所述第一数字证书为开发者认证证书,所述开发者认证证书包括开发者身份信息、开发者公钥信息和第一签名信息经过CA私钥加密后的数据;
步骤3、采用预先安装的CA公钥信息对所述第一数字证书中进行验证,如果验证通过,则进入步骤4,否则提醒用户此Android应用程序未经CA机构认证;
步骤4、提取所述第一数字证书和第二数字证书里的公钥信息,并进行对比,若所提取第一数字证书和第二数字证书里的公钥信息完全相同,则验签通过,否则,验签失败。
8.根据权利要求7所述的Android应用程序安装包的签名的验签方法,其特征在于,所述步骤1中,采用开发者公钥信息对所述第二数字证书进行验证,从而判断APK文件是否被篡改;所述步骤3中,采用预先安装的CA公钥信息验证开发者身份信息是否被篡改。
CN201710470839.5A 2017-06-20 2017-06-20 一种Android应用程序安装包的签名和验签方法 Active CN107463806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710470839.5A CN107463806B (zh) 2017-06-20 2017-06-20 一种Android应用程序安装包的签名和验签方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710470839.5A CN107463806B (zh) 2017-06-20 2017-06-20 一种Android应用程序安装包的签名和验签方法

Publications (2)

Publication Number Publication Date
CN107463806A CN107463806A (zh) 2017-12-12
CN107463806B true CN107463806B (zh) 2020-08-14

Family

ID=60546086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710470839.5A Active CN107463806B (zh) 2017-06-20 2017-06-20 一种Android应用程序安装包的签名和验签方法

Country Status (1)

Country Link
CN (1) CN107463806B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199830A (zh) * 2017-12-22 2018-06-22 沈阳通用软件有限公司 基于证书严格管控Android应用程序合法的方法
CN110113292B (zh) * 2018-02-01 2022-04-29 阿里巴巴集团控股有限公司 安全检测方法和应用权确认方法、装置及系统
CN108322466A (zh) * 2018-02-02 2018-07-24 深圳市欧乐在线技术发展有限公司 基于Android的APK的验证方法、服务器及可读存储介质
CN109409034A (zh) * 2018-09-17 2019-03-01 东软集团股份有限公司 应用程序的验证方法、平台、终端、系统、介质和设备
CN110941818A (zh) * 2018-09-21 2020-03-31 武汉安天信息技术有限责任公司 移动应用程序开发者的信誉获取方法及装置
CN109634615B (zh) * 2018-10-30 2022-04-08 创新先进技术有限公司 应用安装包的发布方法、验证方法和装置
CN109660353A (zh) * 2018-12-12 2019-04-19 新华三技术有限公司 一种应用程序安装方法及装置
CN109617694B (zh) * 2018-12-21 2021-10-26 网易(杭州)网络有限公司 一种应用程序发布方法和装置
CN109740305B (zh) * 2018-12-26 2022-03-18 深圳市优博讯科技股份有限公司 一种应用程序安装包签名方法、安装方法及电子设备
CN110287656A (zh) * 2019-06-21 2019-09-27 深圳市趣创科技有限公司 基于电子版权认证签名的方法及装置
CN110362967A (zh) * 2019-07-15 2019-10-22 北京奇艺世纪科技有限公司 应用程序防篡改的检测方法、装置、终端设备及存储介质
CN110601855B (zh) * 2019-09-20 2022-05-13 腾讯科技(深圳)有限公司 一种根证书管理方法、装置及电子设备、存储介质
CN111787529B (zh) * 2020-07-17 2021-06-29 江苏海全科技有限公司 适于Android智能POS机应用的签名方法和系统
CN113031973B (zh) * 2021-03-01 2023-04-07 亿咖通(湖北)技术有限公司 一种付费车载应用的下载安装方法
CN113922966B (zh) * 2021-10-09 2022-07-22 上海盛本智能科技股份有限公司 一种基于加密存储硬件的安全应用安装方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231729A (zh) * 2011-05-18 2011-11-02 浪潮集团山东通用软件有限公司 支持多种ca身份认证的方法
CN102255925A (zh) * 2011-08-30 2011-11-23 公安部第三研究所 一种数字证书申请快速审核方法
KR20140011021A (ko) * 2012-06-11 2014-01-28 김정현 안드로이드 플랫폼 기반의 어플리케이션의 무단복제 방지 및 최초 복제 추적을 위한 디지털 워터마킹 삽입 방법
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法
CN104156638A (zh) * 2014-06-06 2014-11-19 国家计算机网络与信息安全管理中心 一种面向安卓系统软件的扩展签名的实现方法
CN104331658A (zh) * 2014-11-14 2015-02-04 北京视博数字电视科技有限公司 一种智能终端应用程序的安装验证方法及系统
CN105873044A (zh) * 2015-01-21 2016-08-17 卓望数码技术(深圳)有限公司 基于安卓平台的应用程序发布方法、开发者追溯方法和装置
CN106209379A (zh) * 2016-07-04 2016-12-07 江苏先安科技有限公司 一种Android APK副署签名验证方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231729A (zh) * 2011-05-18 2011-11-02 浪潮集团山东通用软件有限公司 支持多种ca身份认证的方法
CN102255925A (zh) * 2011-08-30 2011-11-23 公安部第三研究所 一种数字证书申请快速审核方法
KR20140011021A (ko) * 2012-06-11 2014-01-28 김정현 안드로이드 플랫폼 기반의 어플리케이션의 무단복제 방지 및 최초 복제 추적을 위한 디지털 워터마킹 삽입 방법
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法
CN104156638A (zh) * 2014-06-06 2014-11-19 国家计算机网络与信息安全管理中心 一种面向安卓系统软件的扩展签名的实现方法
CN104331658A (zh) * 2014-11-14 2015-02-04 北京视博数字电视科技有限公司 一种智能终端应用程序的安装验证方法及系统
CN105873044A (zh) * 2015-01-21 2016-08-17 卓望数码技术(深圳)有限公司 基于安卓平台的应用程序发布方法、开发者追溯方法和装置
CN106209379A (zh) * 2016-07-04 2016-12-07 江苏先安科技有限公司 一种Android APK副署签名验证方法

Also Published As

Publication number Publication date
CN107463806A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107463806B (zh) 一种Android应用程序安装包的签名和验签方法
CN112507328B (zh) 一种文件签名方法、计算设备及存储介质
US9276752B2 (en) System and method for secure software update
CN105391717B (zh) 一种apk签名认证方法及其系统
CN104156638B (zh) 一种面向安卓系统软件的扩展签名的实现方法
CN105787357B (zh) 一种基于安卓系统apk下载方法及其系统
CN103685138A (zh) 移动互联网上的Android平台应用软件的认证方法和系统
CN108496323B (zh) 一种证书导入方法及终端
CN110826092A (zh) 一种文件签名处理系统
CN110830257B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN110378104A (zh) 一种升级防纂改的方法
CN104426658A (zh) 对移动终端上的应用进行身份验证的方法及装置
CN116582266B (zh) 电子签章方法、电子签章系统以及可读存储介质
JP6387908B2 (ja) 認証システム
CN112560017A (zh) 一种使用三级证书认证实现apk统一签名的方法
CN112257046A (zh) 一种用软件库实现可信数字身份解密和验签的方法、系统和设备
US8745375B2 (en) Handling of the usage of software in a disconnected computing environment
CN117556430B (zh) 一种安全启动方法、装置、设备及存储介质
TW396327B (en) Distribution system with authentication
CN106888094B (zh) 一种签名方法及服务器
CN112817608A (zh) 一种可信计算工控机的程序包安装方法
CN110826034B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN111600701A (zh) 一种基于区块链的私钥存储方法、装置及存储介质
CN111274552A (zh) 一种升级包的签名及验签方法、存储介质
CN113326527A (zh) 一种基于区块链的可信数字签名系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant