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

Mar*_*ver 42 android signing certificate apk

这似乎很基本,但我无法找到我在任何地方寻找的信息,特别是关于Android应用程序.

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

  • 名字和姓氏:(好的;不太可能改变)
  • 组织单位:(这是一个"商业名称"吗?)
  • 组织:(这与上面的"单位"有什么不同?)
  • 城市或地区:(这可能会改变......)
  • 州或省:(也可能改变......)
  • 国家代码(XX):(好的;不太可能改变)

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

  1. 在创作时,我可以将这些字段中的任何一个留下EMPTY,特别是那些可能会改变的字段吗?还是被禁止了?(最大的问题.)
  2. 如果我想稍后更改给定字段怎么办?这是否意味着创建一个新密钥并让所有人重新安装应用程序以便再次升级,即使我有原始密钥?(好像是这样的,通过什么小我来看已经找到.)

提前致谢!


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

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

Mic*_*rdo 28

这些字段的内容实际上是非常无关紧要的,除了你以外的任何人都不会看到它们.你可以在任何keytool允许的地方留下空字段而不会影响以后.

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

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


Pau*_*sma 8

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

这是Android Studio的解释: Android Studio显示错误消息

它写道:

至少一个证书颁发者字段必须是非空的

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

正如迈克尔所回答的,一旦您的应用程序发布,您就永远无法更改它.