Android APK证书 - 需要哪些字段以及该信息如何更改?

时间:2011-10-07 05:50:15

标签: android certificate apk signing

这看起来非常基本,但我找不到我在任何地方寻找的信息,特别是关于Android应用程序。

我正在创建我的发布密钥(自签名),我被要求提供大量信息:

  • 名字和姓氏:(好的;不太可能改变)
  • 组织单位:(这是“公司名称”吗?)
  • 组织:(这与上面的“单位”有什么不同?)
  • 城市或地区:(这可能会改变......)
  • 州或省:(也可能会改变......)
  • 国家/地区代码(XX):(确定;不太可能更改)

考虑到这一点,我有两个关于用于分发Android应用程序的自签名证书的基本问题:

  1. 在创作时,我可以将这些字段中的任何一个留下EMPTY,特别是那些可能会改变的字段吗?或者这是禁止的?(最重要的问题。)
  2. 如果我想稍后更改某个字段 ,该怎么办?这是否意味着创建一个新密钥并让所有人重新安装应用程序以便再次升级,即使我有原始密钥?(似乎是这种情况,根据我拥有的东西来判断找到。)
  3. 提前致谢!


    编辑:有关上述#1的更多信息:如果这与SSL证书类似,则名称,组织和国家/地区应该足够了。但那是这样的吗?将任何/所有其他字段留空的利弊?我不可能是唯一一个在应用程序方面对此感到疑惑的人......而我到目前为止所阅读的Android文档并没有帮助澄清这一点。

    对于#2,似乎更改证书意味着重新生成它,并且使用该新证书进行签名并不能避免市场问题(就像一个全新的应用程序,即使您使用新的和旧的证书签名) 。因此,在您第一次签署应用程序时,将其设置为正确(在移动时足够通用)更为重要。

2 个答案:

答案 0 :(得分:28)

这些字段的内容实际上是非常无关紧要的,除了你以外的任何人都不会看到它们。你可以在任何关键工具允许的地方留下空白字段而不会产生后果。

一旦您使用密钥库对apk进行签名并将其上传到Android Market,您就无法与另一个密钥库签署相同的软件包。这显然是为了防止其他人用另一个替换你的应用程序。

对于我的密钥库,我将个人信息放入其中,将未来的截止日期设置为999年,并保证其安全并备份。

答案 1 :(得分:8)

严格回答有关哪些字段是可选字段的问题:实际上,所有字段都是可选字段。唯一的要求是你至少提供一个(即使它只是国家代码)。

这是Android Studio的解释: Android Studio displaying an error message

它的内容如下:

  

至少需要一个证书颁发者字段为非空

果然,通过一些测试,我确认只需要一个字段。

迈克尔回答说,一旦您的应用发布,您就可以永不改变