我收集到大多数开发人员(可能除了大公司)都使用自签名证书来签署他们的 apk。由于这是安装应用程序所必需的,因此任何人都可以为您的应用程序签名。使用 Java SDK 中的 keytool 和 jarsigner 相当简单。然而,这些自签名证书和相关的私钥并不能保证任何程度的安全性,除非您能以某种方式将该证书与您真正信任的人相匹配。无法撤销这些自签名证书(无 CRL),也没有“颁发者”(因为证书几乎总是自签名)以某种方式“担保”证书/密钥持有者的身份签署代码。
那么,Andriod 平台是否有或计划有任何能力来阻止安装带有特定签名的应用程序?或启用仅允许安装由受信任的 CA(证书颁发机构/颁发者)列表颁发的证书/密钥签名的应用程序的设置?但是,有一些可用的安全性:在设置/安全性中,您可以阻止安装任何东西(甚至是签名并手动复制到您的 SIM 卡),除非它来自 Play 商店,这是默认设置。此外,您可能能够安装用户证书,并且只允许安装由该证书签名的应用程序(即使来自 Play 商店?)。