APP备案信息获取指南 - 公钥和指纹获取

概述

移动应用上架需要备案,备案时需要提供以下技术信息:

  • 安卓平台:APP包名、APP公钥、APP签名MD5值

  • iOS平台:Bundle ID、APP公钥、证书SHA-1指纹

本文档介绍这些信息的获取方法,包括命令行和图形界面两种方式。


一、安卓APP备案三要素获取方法

1. APP包名(Package Name)

APP包名是应用程序的唯一标识符,格式通常为逆序域名(如 com.example.myapp)。

方法一:从AndroidManifest.xml查看(最准确)
  1. 使用Android Studio打开项目

  2. 在左侧导航栏中找到 appsrcmainAndroidManifest.xml

  3. 在根 <manifest> 标签中,package 属性值就是包名

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tencent.cloud.demo"> <!-- 这里就是包名 -->
    ...
</manifest>
方法二:从APK文件解析
  1. 将APK文件拖入Android Studio

  2. 或使用APK分析工具(如Jadx-GUI、APK Info)

  3. 在解析结果中查找 AndroidManifest.xmlpackage 属性

备案填写时直接复制 package 属性的完整值。


2. APP公钥(Public Key)

公钥是签名证书的公钥部分,用于验证APK签名来源的真实性。

获取步骤:

步骤一:获取签名证书文件(.jks或.keystore)

  • 如果使用DCloud:在开发者中心 → 证书管理 → 下载安卓云端证书

  • 如果使用腾讯云:在移动应用安全服务中下载证书文件

  • 如果本地有证书:直接使用本地证书文件

步骤二:使用Keytool提取公钥

  1. 打开命令行终端(Windows:CMD/PowerShell;Mac:Terminal)

  2. 执行以下命令(替换括号内内容):

keytool -list -rfc -keystore [证书文件路径] -alias [证书别名] -storepass [密码]

示例命令:

keytool -list -rfc -keystore C:\app\my_keystore.jks -alias my_alias -storepass 123456
  1. 复制输出中以 -----BEGIN PUBLIC KEY----- 开头,以 -----END PUBLIC KEY----- 结尾的完整字符串

如果不知道证书别名,可以先使用以下命令查看:

keytool -list -keystore [证书文件路径] -storepass [密码]

备案填写时将完整的公钥文本(包括BEGIN和END行)粘贴到备案系统的"公钥"字段。


3. APP签名MD5值(Signature MD5)

签名MD5值是签名证书的MD5指纹值,是证书的唯一标识。

方法一:DCloud后台直接查看(推荐)
  1. 登录DCloud开发者中心

  2. 进入"我的应用",选择要备案的应用

  3. 在左侧菜单找到"证书管理"或"云打包"

  4. 在证书详情页面直接复制MD5值(格式如 A0:B1:C2:...

方法二:使用Keytool计算
keytool -list -v -keystore [证书文件路径] -alias [证书别名] -storepass [密码]

在输出结果的"证书指纹"部分,找到MD5行。

备案填写要求:

  • 删除MD5值中的冒号 :

  • 确保字母为大写

  • 最终格式为32位连续字符串(如 A0B1C2D3E4F567890A1B2C3D4E5F6071


二、iOS APP备案信息获取方法

1. Bundle ID

Bundle ID是iOS应用程序的唯一标识符,类似安卓的包名。

获取方法:

方法一:从Apple Developer网站获取

  1. 登录Apple Developer网站

  2. 进入"Certificates, Identifiers & Profiles"

  3. 点击"Identifiers"

  4. 找到对应应用,IDENTIFIER列就是Bundle ID

方法二:从Xcode项目获取

  1. 打开Xcode项目

  2. 选择项目Target

  3. 在"General"标签下找到"Bundle Identifier"


2. 公钥和证书SHA-1指纹

方法一:标准证书(可直接下载)

适用情况:证书类型为可下载的标准证书

步骤:

  1. 登录Apple Developer网站

  2. 进入"Certificates, Identifiers & Profiles"

  3. 点击"Certificates",找到对应证书

  4. 下载.cer证书文件

  5. 在Windows上双击.cer文件

  6. 切换到"详细信息"标签

  7. 分别点击"公钥"和"指纹"查看信息

方法二:Distribution Managed证书(无法直接下载)

适用情况:证书类型为"Distribution Managed",苹果不提供直接下载

步骤:

  1. 访问developer.apple.com/cn/,登录开发者账号

  2. 在"计划资源"中点击"证书"进入证书列表页面

  3. F12打开浏览器开发者工具,刷新页面

  4. 在"网络"标签中找到 certificates 请求

  5. 在响应内容的 data 数组中找到目标证书的 attributes.certificateContent 字段

  6. 复制该字段的完整内容,保存为 .cer 文件(如 test.cer

  7. 在Windows上双击打开该文件,查看公钥和指纹

方法三:使用OpenSSL命令行

适用情况:已有.p12或.cer证书文件

# 从.p12文件提取证书
openssl pkcs12 -in Certificate.p12 -clcerts -nokeys -out Certificate.crt
​
# 获取SHA-1指纹
openssl x509 -noout -fingerprint -sha1 -inform pem -in Certificate.crt
​
# 获取公钥并保存为PEM文件
openssl x509 -pubkey -noout -inform pem -in Certificate.crt > PublicKey.pem
方法四:使用AppUploader工具(图形化界面)
  1. 下载并安装AppUploader工具

  2. 运行工具,打开证书页面

  3. 导入.cer或.p12证书文件

  4. 工具会自动解析并显示公钥和SHA-1指纹


三、常见问题与注意事项

1. 一致性检查

  • 确保获取"公钥"和"MD5签名"所使用的签名证书文件是同一个

  • 确保是最终用来打包发布APP的那个证书

2. 格式要求

  • 安卓公钥:完整的Base64编码字符串,包含BEGIN和END行

  • 安卓MD5值:32位连续大写字母数字字符串(无冒号)

  • iOS公钥:完整的Base64编码字符串,包含BEGIN和END行

  • iOS SHA-1指纹:16进制形式,通常格式为 AA:BB:CC:...(40个字符)

本文由AI生成,其中keytool和openssl命令已经过验证。
参考文章:(3 封私信 / 80 条消息) 安卓APP备案的三要素包名,公钥,签名md5值详细获取方法-优雅草卓伊凡 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chelase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值