android应用程序证书的用途

android应用程序证书的用途,android,certificate,Android,Certificate,我想澄清一个与Android应用程序证书(在安装过程中使用)相关的困惑 在web中,证书用于将公钥映射到域/标识(组织)。详细信息的哈希由CA签名,然后由浏览器验证 Android应用程序附带一个公钥。根据我的理解,开发人员可以使用自己的私钥,对应用程序的哈希进行签名,然后使用他的公钥发布应用程序。此信息由安装程序使用 我的问题是: 即使使用了某些CA,应用程序仍然会附带CA的公钥-谁拥有签名公钥重要吗?它可以是任何人,因为安装程序只会使用它 完整性检查是android应用程序证书的唯一用途吗?

我想澄清一个与Android应用程序证书(在安装过程中使用)相关的困惑

在web中,证书用于将公钥映射到域/标识(组织)。详细信息的哈希由CA签名,然后由浏览器验证

Android应用程序附带一个公钥。根据我的理解,开发人员可以使用自己的私钥,对应用程序的哈希进行签名,然后使用他的公钥发布应用程序。此信息由安装程序使用

我的问题是:

  • 即使使用了某些CA,应用程序仍然会附带CA的公钥-谁拥有签名公钥重要吗?它可以是任何人,因为安装程序只会使用它

  • 完整性检查是android应用程序证书的唯一用途吗?应用程序和网站一样没有公钥,所以证书不用于将某些公钥与应用程序关联。证书还有其他用途吗

  • 谁拥有签名公钥重要吗

    没有。通常,它们是自签名的

    完整性检查是android应用程序证书的唯一用途吗

    它还用于回答两个与许可相关的问题:

  • 应用程序A是否与应用程序B使用相同的签名密钥签名?如果是,那么这些应用程序可以比两个任意应用程序更紧密地进行互操作

  • 应用程序A是否由签名FirMare的同一签名密钥签名?如果是,则应用程序A可以持有为设备制造商和自定义ROM开发人员保留的某些权限

  • 此外,开发人员还可以验证其他应用程序的签名,这有助于确保您与正确的应用程序通话

    谁拥有签名公钥重要吗?可能是任何人, 因为安装程序将只使用它

    • 是的,会的。任何人都可以编写应用程序,对证书进行自签名,并使用它发布应用程序。私钥仍然由所有者控制,他/她可以控制应用程序的所有功能以及应用程序的任何未来更新,如下所述
    完整性检查是唯一使用android应用程序证书的东西吗 为了什么

    不,它的作用不止于此:

    • 安装无线应用程序更新时,设备将确认更新的应用程序证书与现有证书匹配。如果开发人员要使用新密钥对应用程序进行签名,他/她应更改软件包名称;没有这一点,Google Play不允许开发者更新应用程序。如果开发人员确实想更改签名密钥,他/她将被迫更改应用程序的包名,因此这将在Play Store中显示为一个新的应用程序

    • 使用相同公钥的两个或多个应用程序可以彼此共享数据。权限可以是基于签名的,例如允许这样做

    • 使用同一密钥签名的两个或多个应用程序也可以在同一进程组中运行,甚至可以共享代码和状态

    更多详细信息请访问Android开发者页面-