APP备案流程备忘
近期负责了一个Flutter的新项目,涉及到APP的备案,由于没有其他同事能处理,最后由我自己处理了整个APP备案的过程。
记录一些备案过程中的问题,以备后续回查。
一、前期准备:
备案APP并需不要等待开发完成,项目相关信息确定好了就可以开始备案。
备案要通过阿里云、腾讯云等网络提供商(根据实际情况选择),我们是通过阿里云购买域名和服务器,所以在阿里云做的备案。
其中有几项主要的必备项:
1、域名:域名是APP备案的基础,过程中多个环节需要填写域名。如果域名不提供可直接访问的网站,只是用于APP请求接口使用,那么域名可以不需要解析、不需要备案即可使用,换句话说:买下就能用来做APP备案;
2、服务器:APP备案过程中涉及到ICP备案需要用到服务器,同样的服务器也不需要做真实部署,只要买下就可以先用来做APP备案;
3、苹果开发者账号:如果要发布到AppStore,那么APP备案需要填写苹果证书的公钥和证书SHA-1指纹,这些信息是需要付费的开发者账号才能获取的。
二、备案过程:
APP备案的过程中,主办单位信息和负责人信息等根据实际情况填写即可。
其中比较麻烦的是APP信息:需要先确定好APP名称、图标、包名(Bundle ID),以及提供公钥和证书指纹等信息。
对于公钥和证书指纹,花了我比较多的时间摸索处理。我们的APP要在iOS、安卓和鸿蒙3个平台都发布,所以需要处理3端的证书:
1、iOS
由于我原先就是iOS开发工程师,对于iOS的证书体系比较熟悉,所以这一步省略说。
在配置完.cer证书文件后(注意是distribute发布证书),安装到钥匙串,在钥匙串里双击对应的证书打开详情,即可看到对应的公钥和证书SHA-1指纹。如果显示不全,点击最后的“…”即可展开内容。如果展开后最后还是有省略号,则忽略省略号,只拷贝省略号前的部分即可。
2、安卓
(1)、生成证书首先需要生成 keystore文件,在PowerShell中执行(后文涉及到“执行”都是在PowerShell中,不再详赘):
keytool -genkey -v -keystore D:\你的项目路径\android\app\release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
在这个过程中会要求你设置keystore密码和key密码(两者可以设置相同的密码),还有姓名、组织等信息(可以随意填),最后完成的时候应该输入“Y”或“y”确认,而不是“YES”或“是”;
生成完后,把 android/key.properties 改成你实际设置的密码。要注意,key.properties要设置.gitignore,避免泄露密码。
(2)、如果在执行keytool命令的时候提示“keytool : 无法将“keytool”项识别为 cmdlet、函数、脚本文件或可运行程序的名称”:
那么说明Java没加到PATH里。但是Android Studio自带了JDK,只要使用它就行。执行以下指令:
$env:Path += ";C:\你的Android Studio自带的JDK路径\Java\jdk-25.0.2\bin"
keytool -genkey -v -keystore D:\你的项目路径\android\app\release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
(3)、然后开始获取公钥和证书MD5指纹:
首先执行以下命令导出pem文件:
keytool -exportcert -alias release -keystore D:\你的项目路径\android\app\release-key.jks -rfc -file D:\release-cert.pem
然后执行以下命令查看pem文件的内容:
Get-Content D:\release-cert.pem
会输出类似以下的内容:
-----BEGIN CERTIFICATE-----
MIIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
-----END CERTIFICATE-----
将这部分内容粘贴到https://www.ssleye.com/ssltool/cer_check.html即可查看公钥和证书MD5指纹。
(4)、在查看到的内容中,如下图,将MI开头至AB结束的这一部分为公钥:

证书MD5指纹需要再执行以下命令获取:
certutil -hashfile D:\release-cert.der MD5
输出的值去掉空格,全小写,就是 MD5 指纹。
3、鸿蒙
(1)、首先需要安装鸿蒙开发工具DevEco Studio,然后在AppGallery Connect(https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/)上手动申请发布证书;
(2)、AppGallery Connect的证书体系和iOS比较相似,其中CSR文件需要通过DevEco Studio生成,再通过CSR文件生成证书.cer文件(要生成发布证书);
(3)、执行以下命令查看证书内容:
keytool -printcert -file D:\路径\证书.cer
我的.cer文件内包含了3个证书:
证书[1]:华为根证书(Huawei CBG Root CA G2)
证书[2]:华为中间证书(Huawei CBG Developer Relations CA G2)
证书[3]:你的应用签名证书(杨淳引, Release)
备案要用的是证书[3]。
(4)、用记事本新建文件 D:\路径\证书.pem,把上面输出里证书[3]的内容(从 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE-----)粘贴进去保存,然后执行:
certutil -hashfile D:\ohos\cqpt_dis_app.pem MD5
就获得应用证书的 MD5 指纹;
(5)、类似安卓查看.pem文件的方法,将.pem文件的内容粘贴到 https://www.ssleye.com/ssltool/cer_check.html 解析即可获取公钥。
三、备案后续:
备案最后一步需要企业法人扫脸,还需要提交他的身份证,至此即可提交备案审核。
阿里云会做初审,有问题会打审核资料里填写的法人电话告知,根据客服告知的内容调整资料接口。对方会发给你一个URL,进入后只需要补充有问题的资料,不需要完整重新跑整个流程。
阿里云初审通过后,接下来会有工信部的短信核验,根据短信提示内容操作即可。最后就是等待备案审核通过了。


浙公网安备 33010602011771号