移动互联网应用程序开发者数字证书管理平台

平台介绍

平台简介

证书平台简介

       数字证书统一申请平台是为了给广大Android应用程序作者和证书厂商之间建立证书申请的桥梁。2016年12月27日,在中国反网络病毒联盟(ANVA)支持下,依托于各个ANVA联盟单位的大力支持,ANVA所辖之下的数字证书统一申请平台正式成立。通过发挥数字证书的特性,推动互联网网络安全的防范、治理工作,净化网络空间,维护公共互联网网络安全。

首批加入平台的证书厂商

服务介绍
  • 安卓代码签名证书

           Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系。Android系统所有的应用程序都必须有数字证书,没有不存在数字签名的应用,包括模拟器上运行的。

           Android数字证书包含以下几个要点:
    (1)签名规则
           允许自签名,Android使用标准的java工具 Keytool and Jarsigner 来生成数字证书,不需要权威的数字证书机构签名认证。
    (2)应用发布
           正式发布一个Android,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布。
    (3)证书期限
           Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。

  • 验签

           Android证书签名验证工作可以由具备一定开发能力的开发者完成,或在安装APK时由Android系统自动完成。安卓代码签名证书的验证需要由证书厂商来完成。
           平台已经与多家应用商店展开业务合作。Android开发者从平台申请证书用于Android应用程序签名后,平台在合作的应用商店中为应用程序标识出证书图章。借此代表该应用已实现实名制认证,可以追溯到应用程序作者。 用户在下载安卓应用的时候可以优先选择有认证保证的应用。

           Android系统代码签名验签流程如下:

           1、验证Apk中的每个文件的算法(数据摘要+Base64编码)和MANIFEST.MF文件中的对应属性块内容是否配对。

           2、验证CERT.SF文件的签名信息和CERT.RSA中的内容是否一致。

           3、MANIFEST.MF整个文件签名在CERT.SF文件中头属性中的值是否匹配以及验证MANIFEST.MF文件中的各个属性块的签名在CERT.SF文件中是否匹配:
           (1)第一件事是:验证MANIFEST.MF整个文件签名在CERT.SF文件中头属性中的值是否匹配;
           (2)第二件事是:验证MANIFEST.MF文件中的各个属性块的签名在CERT.SF文件中是否匹配;

           如果要重新打包后的应用程序能在Android设备上安装,必须对其进行重签名。只要修改了Apk中的任何内容,就必须重新签名。

  • 其他签名证书

           代码签名证书为软件开发商提供了一个理想的解决方案,使得软件开发商能对其软件代码进行数字签名。通过对代码的数字签名来标识软件来源以及软件开发者的真实身份,保证代码在签名之后不被恶意篡改。使用户在下载已经签名的代码时,能够有效的验证该代码的可信度。

           安卓代码签名为最常见的证书签名,除此之外,还有如下代码签名:
           (1)代码签名数字ID,主要包括微软代码签名证书、火狐控件签名证书、Java 代码签名证书;
           (2)微软产品徽标认证证书,用于数字签名微软 Windows Logo认证的各种软件、硬件驱动程序等,提交已经签名的软件给微软测试认证等;
           (3)微软移动代码签名证书,支持使用微软 Windows Mobile 的 SmartPhone 和 Pocket PC 的移动终端操作系统的移动应用软件的非特权签名和特权签名;
           (4)Brew代码签名证书,用于数字签名高通公司推出的无线二进制运行开发操作环境下的 基于CDMA网络 "无线互联网发射平台" 上增值业务开发运行的 Brew 代码;
           (5)Symbian代码签名证书,用于数字签名 Symbian S60 操作系统的智能手机下的 sis、sisx 格式文件;
           (6)Adobe PDF代码签名证书,用于数字签名 Adobe PDF 文档;
           (7)Apple 代码签名证书,可以让软件开发商使用此签名证书在证书有效期内不限数量的对 Apple操作系统上运行的代码进行数字签名。

  • 一次签名流程

            1、开发者生成身份相关信息 在向CA机构正式申请身份认证数字证书之前,开发者根据平台的要求填写身份信息,并提交审核。

            2、开发者向CA机构申请数字证书 开发者从CA机构得到USB-KEY证书。CA机构在向开发者颁发数字证书时,采用SM2算法,符合国家密码局的要求。

            3、开发者使用“开发者认证证书”开发APP 开发者在完成开发APP时,在Android应用签名之前进行一次签名:
           (1)扫描打包后的整个文件结构。
           (2)计算除META-INF文件夹外其他所有文件的哈希 。
           (3)从USBKEY中读出开发者相关信息。将所有HASH+开发者信息字符串二次哈希 。
           (4)将二次哈希值送入携带算法和私钥的USBKEY中进行签名,输出签名串。
           (5)将USBKEY输出的签名串与开发者信息生成签名文件。
           (6)将签名文件存放在应用程序根目录的ANVACert目录下。

主办:中国反网络病毒联盟

京ICP备10012421号-1 如有问题请联系  anvaregister@cert.org.cn