使用多个证书签署申请

时间:2010-04-21 10:34:00

标签: android certificate keytool apk

来自https://developer.android.com/studio/publish/index.html的签名文档:

  

当系统正在为应用程序安装更新时,如果新版本中的任何证书与旧版本中的任何证书匹配,则系统允许更新。

这表示可以使用多个证书对应用程序进行签名。

这是一个允许多个实体签署应用程序的有趣选项。例如:最初由设备制造商签署的系统应用程序。进一步的更新可以由开发人员签署。

我误读了文档还是真的有可能?如果是这样,怎么样?

应用程序是否有其他方式支持不同的证书,并且有两个或更多实体签名?

2 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,但不是那么漂亮,而是一个解决方案。

签名的apk文件包含:

  • 使用给定证书签名的文件
  • 带有公共证书密钥的META-INF文件夹

拥有一个包含多个证书的apk:

  • 每个派对都签署了apk
  • 收集每个apk的META-INF内容
  • 创建了一个新的apk(这只是一个zip文件),META-INF文件夹包含所有证书

这将允许任何签约方更新apk。

请注意,在更新中无法添加证书。

答案 1 :(得分:2)

如果在签名过程中使用其他别名,则可以使用不同的证书对apks进行签名。

这将在META-INF文件夹中创建不同的文件。我不知道对于Android市场中的更新过程有什么影响。