0

我用来学习 Android 应用程序开发的书说:

要将 Android 应用程序安装到设备上,您首先需要使用证书的数字签名对 Android 包(.pak 文件)进行签名。但是,证书可以是自签名的——您不需要从VeriSign 等证书颁发机构购买证书。

好的,所以我知道要将应用程序安装到设备上,任何数字签名都可以(Eclipse 的 ADT 插件已经为我自动执行此操作)。但是,我不清楚是否:

  1. 自签名证书是否足以满足Android Market的需求?
  2. 如果我决定发布带有自签名证书的应用程序,是否有任何问题或警告?

这是我第一次开始向 Android Market 发布应用程序的过程,您的经验丰富的回答将不胜感激。

谢谢。

4

1 回答 1

2
  1. 是的。
  2. 不。

证书所做的只是验证你是谁。没有其他的。

编辑:实际上,它甚至没有验证这一点。它所验证的只是这个应用程序是由具有此证书私钥的实体制作的。它生成一个身份线索:没有其他实体可以声称是同一实体而不访问相同的私钥。

此外,某些进程/文件/用户权限与使用相同的证书相关(例如,我有多个使用相同证书签名的应用程序,即使每个应用程序单独安装,它们也可以打开彼此的数据库)。

编辑:根本没有关系,因为自签名证书问题基于浏览器根证书存储。在浏览器中,它们试图进行显式信任(即,使用此证书的实体由已知的根证书颁发机构验证为证书标识的实体)。使用自签名证书,证书链不会以已知的根结束,因此任何人都可以发布它并撒谎,而使用 Verisign/Thawte/Godaddy/Other 的论点是根证书的所有者以某种方式验证将证书交给它的实体实际上被授权将自己标识为该实体。

于 2011-05-10T14:19:05.720 回答