HarmonyOS 6学习:应用备案证书的公钥与指纹提取指南
《HarmonyOS应用备案指南:如何获取证书公钥与指纹》 本文详细介绍了HarmonyOS应用接入云资源时所需的备案流程。重点解析了发布证书、公钥和指纹三个核心概念,并提供了两种提取方法:一是通过macOS的"快速查看"功能获取SHA1指纹和公钥信息;二是推荐使用OpenSSL命令精确获取MD5/SHA1指纹及公钥。指南特别强调必须使用发布证书而非调试证书,并解答了多应用共用
在将HarmonyOS 6应用接入使用云资源时,应用备案是必不可少的关键环节。无论是华为应用市场,还是其他需要验证应用身份的云服务平台,通常都会要求开发者提供从应用证书中提取的公钥和证书指纹(MD5/SHA1) 信息。这份指南将清晰解析证书的类型、指纹的区别,并提供在不同操作系统下的提取方法,帮助你高效完成应用备案。
一、核心概念:发布证书、公钥与指纹
在应用备案的上下文中,你需要理解以下几个核心概念:
-
发布证书 (Release Certificate): 这是你完成应用签名后,由应用分发平台(如AppGallery Connect)为你应用颁发的数字证书。它以
.cer格式文件提供。备案时所需的信息必须从发布证书中获取,调试证书不可用于此目的。 -
公钥 (Public Key): 包含在证书文件内,与你的私钥配对。用于验证应用签名的合法性。备案平台通过公钥来确认提交的应用与签名的应用是同一个。
-
证书指纹 (Certificate Fingerprint): 证书的“数字摘要”,是使用特定哈希算法(如 MD5, SHA1, SHA256)对整个证书内容计算得出的唯一字符串,用于唯一标识该证书。常见的是 SHA1 指纹,但部分平台可能要求提供 MD5 指纹。
二、如何获取公钥和指纹?
方法一:在 macOS 上通过“快速查看”获取
此方法适用于需要快速查看 SHA1 指纹(通常可用于备案)和公钥信息的场景。
-
准备证书文件: 从 AppGallery Connect 下载你的
.cer发布证书。 -
处理证书文件(重要步骤):
-
用“文本编辑”或其他纯文本编辑器打开
.cer文件。 -
你可能会看到多段以
-----BEGIN CERTIFICATE-----开头和-----END CERTIFICATE-----结尾的文本块。这些分别是“根证书”、“中间证书”和你的“叶子证书”。 -
删除“根证书”和“中间证书”对应的文本块,仅保留“叶子证书” 的完整文本块(从
-----BEGIN CERTIFICATE-----到-----END CERTIFICATE-----)。 -
保存并关闭文件。
-
-
快速查看:
-
在 Finder 中找到处理后的
.cer文件,单击使其处于选中状态。 -
按下键盘的空格键,启动“快速查看”功能。
-
在弹出的预览窗口中,你将看到证书的详细信息,包括MD5、SHA1、SHA256指纹以及公钥信息。
-
注意: 经过“删除根/中间证书”处理后,从相同
.csr文件生成的.cer证书,其公钥一致,但指纹会发生变化。如果备案平台校验的是原始完整证书的指纹,此方法获取的指纹将无效,请使用方法二。
方法二:使用 OpenSSL 命令获取(通用,推荐)
此方法适用于所有操作系统(macOS, Windows, Linux),可精确获取指定算法的指纹,并且结果与平台要求完全一致。
-
准备工具: 确保你的系统已安装 OpenSSL。
-
执行命令:
-
打开终端(macOS/Linux)或命令提示符/PowerShell(Windows)。
-
使用
cd命令切换到存放.cer证书文件的目录。 -
获取 MD5 指纹:
openssl x509 -fingerprint -md5 -noout -in 你的证书文件名.cer输出示例:
MD5 Fingerprint=55:9F:F7:XX:XX:XX:XX:XX:XX:XX:XX:9A:3A:08:8E -
获取 SHA1 指纹:
openssl x509 -fingerprint -sha1 -noout -in 你的证书文件名.cer输出示例:
SHA1 Fingerprint=15:3E:C8:XX:XX:XX:XX:XX:XX:XX:XX:DF:46:F1:53:AF:84:C9:BF:D0:61 -
获取公钥:
openssl x509 -pubkey -noout -in 你的证书文件名.cer输出将以
-----BEGIN PUBLIC KEY-----开头,包含完整的公钥字符串。
-
三、常见问题与行业实践
-
备案应该用 SHA1 指纹还是 MD5 指纹?
-
大多数云服务平台和第三方服务(如微信开放平台、部分推送服务)直接接受 SHA1 指纹进行备案。这是最常见和推荐的做法。
-
如果接入方明确要求提供 MD5 指纹,则需使用上述 OpenSSL 命令提取。
-
-
多个应用共用一个发布证书,备案信息如何填写?
-
如果多个应用使用相同的发布证书进行签名,那么它们备案所需的公钥和所有指纹(MD5, SHA1, SHA256)将完全一样。
-
区分不同应用的唯一标识是应用包名(Bundle Name)。备案时确保包名准确无误。
-
-
证书过期后重新生成,是否需要重新备案?
-
强烈建议重新备案或更新备案信息。
-
如果使用相同的
.csr文件重新生成证书,公钥会保持一致,但指纹会变化。 -
如果使用了新的
.csr文件生成证书,公钥和指纹都会变化。 -
为确保服务连续性,更换证书后应及时在备案平台更新证书信息。
-
-
调试证书可以用于备案吗?
-
绝对不可以。 备案必须使用从应用市场(如 AppGallery Connect)获得的正式发布证书。调试证书仅用于开发阶段本地测试。
-
四、总结
为HarmonyOS应用完成云端备案,核心是从正确的发布证书(.cer)中提取正确的信息。
|
关键动作 |
操作方法 |
注意事项 |
|---|---|---|
|
获取证书 |
从 AppGallery Connect 下载发布证书(.cer)。 |
确保是发布证书,非调试证书。 |
|
提取指纹 |
使用 OpenSSL 命令(通用且准确)。 |
优先提供 SHA1 指纹,若明确要求则提供 MD5 指纹。 |
|
提取公钥 |
使用 |
直接从证书文件中提取。 |
|
备案提交 |
提交公钥、指纹和应用包名。 |
多应用共用证书时,公钥和指纹相同,包名不同。 |
遵循本指南,你可以准确、高效地获取备案所需信息,确保你的应用顺利接入各类云服务。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任。
更多推荐


所有评论(0)