HarmonyOS鸿蒙Next中多个主体的开发证书.cer,为什么获取的公钥都一样?

HarmonyOS鸿蒙Next中多个主体的开发证书.cer,为什么获取的公钥都一样?

如图:我现在在这两个主体下。

这两个主体下的的开发证书

下载好后 使用如下命令

penssl x509 -in /Users/xxx/xxx/xxx发布证书.cer -pubkey -noout  
openssl x509 -fingerprint -md5 -noout -in /Users/xxx/xxx/xxx/xxx发布证书.cer

公钥信息:

MD5信息:

为什么两个主体下获取的公钥信息和MD5的值都是一样的?

tip: 在创建 csr文件和P12文件都是新建的,设置的密码别名信息也都不一样

有大佬知道这是为什么么?


更多关于HarmonyOS鸿蒙Next中多个主体的开发证书.cer,为什么获取的公钥都一样?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

Q:不同CSR文件生成了两个发布证书,使用openssl x509 -fingerprint -md5 -noout -in 证书.cer这条命令生成的md5指纹是相同的,这是正常的吗?

A:这条命令的含义是提取证书的md5指纹信息。AG证书的生成流程是,将证书请求文件(csr,包含应用的公钥)上传到AG,AG用自己的根证书对应用公钥进行认证,即AG对应用证书进行一道加密签名,生成的cer文件是AG的公钥和指纹。所以用这条命令提取cer文件的md5指纹,实际提取的是AG根证书的指纹,所以都是相同的。

参考:https://developer.huawei.com/consumer/cn/doc/architecture-guides/shaking_to_dialog_1-ts_25-0000002399619541

更多关于HarmonyOS鸿蒙Next中多个主体的开发证书.cer,为什么获取的公钥都一样?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


那这么说所有主体的公钥和md5都一样么?如果都一样,备案那需要填的公钥和MD5信息也是所有公司都是一样的么?

可能是bug。。。

在HarmonyOS鸿蒙Next中,多个开发证书.cer的公钥相同是因为这些证书可能由同一根CA证书签发,使用了相同的密钥对。华为开发者账号体系下,同一账号生成的开发证书默认共享公钥基础设施(PKI)体系,导致公钥相同。这属于正常现象,不影响证书的独立性和安全性,每个证书仍具有唯一的私钥和签名信息。

在HarmonyOS Next中,开发证书的公钥相同是正常现象。这是因为华为开发者证书体系的设计机制决定的:

  1. 公钥相同但私钥不同:虽然您看到公钥相同,但每个证书对应的私钥是不同的(存储在各自的.p12文件中)。这种设计是华为证书体系的安全机制。

  2. 证书有效性验证:系统验证时是通过完整的证书链来验证,而不是仅依赖公钥。即使公钥相同,由于证书中的其他信息(如颁发者、序列号等)不同,系统仍能区分不同开发者的身份。

  3. 开发流程不受影响:这种设计不会影响您的开发调试过程,应用签名和发布流程都能正常进行。

  4. 安全考虑:公钥相同但私钥不同的设计能简化证书管理,同时保证安全性。实际验证时系统会校验完整的证书信息。

建议您继续正常使用这些证书进行开发,只要确保每个项目使用对应的.p12文件即可。

回到顶部