android应用程序证书的用途
我想澄清一个与Android应用程序证书(在安装过程中使用)相关的困惑 在web中,证书用于将公钥映射到域/标识(组织)。详细信息的哈希由CA签名,然后由浏览器验证 Android应用程序附带一个公钥。根据我的理解,开发人员可以使用自己的私钥,对应用程序的哈希进行签名,然后使用他的公钥发布应用程序。此信息由安装程序使用 我的问题是:android应用程序证书的用途,android,certificate,Android,Certificate,我想澄清一个与Android应用程序证书(在安装过程中使用)相关的困惑 在web中,证书用于将公钥映射到域/标识(组织)。详细信息的哈希由CA签名,然后由浏览器验证 Android应用程序附带一个公钥。根据我的理解,开发人员可以使用自己的私钥,对应用程序的哈希进行签名,然后使用他的公钥发布应用程序。此信息由安装程序使用 我的问题是: 即使使用了某些CA,应用程序仍然会附带CA的公钥-谁拥有签名公钥重要吗?它可以是任何人,因为安装程序只会使用它 完整性检查是android应用程序证书的唯一用途吗?
- 是的,会的。任何人都可以编写应用程序,对证书进行自签名,并使用它发布应用程序。私钥仍然由所有者控制,他/她可以控制应用程序的所有功能以及应用程序的任何未来更新,如下所述
- 安装无线应用程序更新时,设备将确认更新的应用程序证书与现有证书匹配。如果开发人员要使用新密钥对应用程序进行签名,他/她应更改软件包名称;没有这一点,Google Play不允许开发者更新应用程序。如果开发人员确实想更改签名密钥,他/她将被迫更改应用程序的包名,因此这将在Play Store中显示为一个新的应用程序
- 使用相同公钥的两个或多个应用程序可以彼此共享数据。权限可以是基于签名的,例如允许这样做
- 使用同一密钥签名的两个或多个应用程序也可以在同一进程组中运行,甚至可以共享代码和状态