【发布时间】:2011-08-17 18:16:16
【问题描述】:
我们将为 3 个不同的客户构建 Android 应用程序。
使用 Java SDK 工具 keytool,我们生成 3 个不同的密钥库文件。
我们是使用相同的 KeyStore 文件为每个公司的每个应用程序签名,还是每个应用程序都需要自己的密钥库?
【问题讨论】:
标签: android xamarin.android keystore signing
我们将为 3 个不同的客户构建 Android 应用程序。
使用 Java SDK 工具 keytool,我们生成 3 个不同的密钥库文件。
我们是使用相同的 KeyStore 文件为每个公司的每个应用程序签名,还是每个应用程序都需要自己的密钥库?
【问题讨论】:
标签: android xamarin.android keystore signing
单个密钥库文件可以包含许多密钥。密钥库中的每个密钥都有一个别名(即名称),您在使用该密钥签名时会使用该别名。您可以毫无问题地将每个应用程序的所有三个密钥放入一个密钥库中。
您可以为所有应用程序使用一个密钥,但如果该密钥被泄露,您需要更改影响所有应用程序的密钥。通常,密钥泄露不太可能带来风险,但如果您有承包商在每个应用程序上工作,它会限制您让承包商跑掉密钥或类似的事情。
【讨论】:
密钥签名是为了识别开发人员而不是客户,the Android Market documentation 建议这样做。如果您需要使用单独的密钥,您可以使用一个具有多个签名的密钥库或每个密钥库一个。我建议您为每个 Android Market 帐户创建一个密钥库文件。虽然你没有说这些应用程序是否发布在市场上。 Keytool 将允许您导入和导出签名,从而为您提供一些灵活性。
【讨论】:
密钥用于对您的应用程序进行数字签名......因此它可以识别发布者
发布者密钥:供最终客户使用的 Digitaly 最终发布应用程序
Worker 开发者密钥:1 年有效期很容易由 Eclipse 生成(使用 ADT)
因此,如果您的问题是:一个发布者 3 个工作人员...单个发布者密钥对就足够了 如果您不想将私钥提供给工作人员...
!!事实上发布者不必向工作人员提供发布者私钥
--> 工人只需要 Eclipse 自动生成的有效期为 1 年的开发密钥 可以根据您的需要多次重新生成,但不能用于发布用途
-->发布者将未签名的最终 APK 应用程序(由工作人员提供)文件,然后发布者将对这些 APK 进行签名/压缩对齐到新的 APK 中,以“按原样”提供给最终客户或上传到市场商店。
【讨论】: